From d88e0bed4f13eb18f328f38e9ad16fedc463c04a Mon Sep 17 00:00:00 2001 From: Jannis Linxweiler <linxweiler@irmb.tu-bs.de> Date: Fri, 25 Oct 2019 11:17:44 +0200 Subject: [PATCH] adds cmake compiler file for llvm --- CMake/CMakeCompilerMacros.txt | 2 + CMake/compilerflags/llvm.cmake | 68 ++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 CMake/compilerflags/llvm.cmake diff --git a/CMake/CMakeCompilerMacros.txt b/CMake/CMakeCompilerMacros.txt index 3a3f2c74e..1bf8aee4c 100644 --- a/CMake/CMakeCompilerMacros.txt +++ b/CMake/CMakeCompilerMacros.txt @@ -75,6 +75,8 @@ MACRO(SET_CAB_COMPILER) ELSE() SET( CAB_COMPILER "msvc19_32" ) ENDIF() + ELSEIF(APPLE) + SET( CAB_COMPILER "llvm" ) ELSE() EXEC_PROGRAM( ${CMAKE_CXX_COMPILER} ARGS --version diff --git a/CMake/compilerflags/llvm.cmake b/CMake/compilerflags/llvm.cmake new file mode 100644 index 000000000..3c30f9171 --- /dev/null +++ b/CMake/compilerflags/llvm.cmake @@ -0,0 +1,68 @@ +############################################################################################################### +## +## gcc74 +## +############################################################################################################### + +MACRO(SET_COMPILER_SPECIFIC_FLAGS_INTERN build_type use64BitOptions) + ############################################################################################################# + # Flags + ############################################################################################################# + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-O3 -fomit-frame-pointer -finline-functions -fPIC") + + LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-O3 -fomit-frame-pointer -finline-functions -fPIC") + + ############################################################################################################# + # 64Bit support + ############################################################################################################# + IF( ${use64BitOptions} ) + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-m64" ) + LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-m64" ) + ENDIF() + + ############################################################################################################# + # OpenMP support + ############################################################################################################# + IF(USE_OPENMP) + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fopenmp") + LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-fopenmp") + ENDIF() + + ############################################################################################################# + # mt support + ############################################################################################################# + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-pthread") + LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-pthread") + + ############################################################################################################# + # c++ 11 support + ############################################################################################################# + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++11") + LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++11") + + ############################################################################################################# + # disable warning + ############################################################################################################# + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wno-deprecated") #deprecated header warning + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space + LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wcomment") #'/*' within block comment + + LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-Wbackslash-newline-escape") #backslash and newline separated by space + + ############################################################################################################# + # c++ 17 support + ############################################################################################################# + #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-std=c++17") + #LIST(APPEND CAB_COMPILER_ADDTIONAL_C_COMPILER_FLAGS "-std=c++17") + + #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-fext-numeric-literals") + #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-D_GLIBCXX_USE_CXX11_ABI=0") + #LIST(APPEND CAB_COMPILER_ADDTIONAL_CXX_COMPILER_FLAGS "-Wregister") + + + + IF(NOT APPLE) + LIST(APPEND CAB_ADDITIONAL_LINK_PROPS "-lrt") + ENDIF() + +ENDMACRO(SET_COMPILER_SPECIFIC_FLAGS_INTERN build_type use64BitOptions) -- GitLab