diff --git a/scripts/cmake/CompilerSetup.cmake b/scripts/cmake/CompilerSetup.cmake index 49bdd260c29c2a1877cf45cdad1c294b6e5fff2f..9de02148abe5ea2d7a142e19cdbd655faa82c465 100644 --- a/scripts/cmake/CompilerSetup.cmake +++ b/scripts/cmake/CompilerSetup.cmake @@ -3,8 +3,19 @@ INCLUDE(SetDefaultBuildType) SET_DEFAULT_BUILD_TYPE(Debug) INCLUDE(MSVCMultipleProcessCompile) # /MP switch (multi processor) for VS -### GNU C/CXX compiler +# Set compiler helper variables +IF (CMAKE_CXX_COMPILER MATCHES ".*clang") + SET(COMPILER_IS_CLANG 1) +ENDIF () IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) + SET(COMPILER_IS_GCC 1) +ENDIF () +IF (${CMAKE_C_COMPILER} MATCHES "icc.*$" OR ${CMAKE_CXX_COMPILER} MATCHES "icpc.*$") + SET(COMPILER_IS_INTEL) +ENDIF () + +### GNU C/CXX compiler +IF(COMPILER_IS_GCC) get_gcc_version(GCC_VERSION) IF( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) MESSAGE(STATUS "Set GCC release flags") @@ -19,17 +30,16 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) # -g SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wall -Wextra -fno-nonansi-builtins") ADD_DEFINITIONS( -DGCC ) -ENDIF(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_GNUCC) +ENDIF() # COMPILER_IS_GCC ### Intel compiler -IF (${CMAKE_C_COMPILER} MATCHES "icc.*$" OR ${CMAKE_CXX_COMPILER} MATCHES "icpc.*$") +IF (COMPILER_IS_INTEL) IF( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" ) MESSAGE(STATUS "Set Intel release flags") SET(CMAKE_CXX_FLAGS "-O3 -DNDEBUG") ENDIF() SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wall") -ENDIF(${CMAKE_C_COMPILER} MATCHES "icc.*$" OR ${CMAKE_CXX_COMPILER} MATCHES -"icpc.*$") +ENDIF() # COMPILER_IS_INTEL # Profiling IF (OGS_PROFILE) @@ -38,7 +48,7 @@ IF (OGS_PROFILE) ENDIF() SET(PROFILE_FLAGS "-pg -fno-omit-frame-pointer -O2 -DNDEBUG") # clang compiler does not know the following flags - IF(CMAKE_CXX_COMPILER MATCHES "!clang") + IF(NOT COMPILER_IS_CLANG) SET(PROFILE_FLAGS "${PROFILE_FLAGS} -fno-inline-functions-called-once -fno-optimize-sibling-calls") ENDIF() SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${PROFILE_FLAGS}") diff --git a/scripts/cmake/Find.cmake b/scripts/cmake/Find.cmake index 0765e55d11de6192bf0f1d95e0843dd0e7faa15b..dc96a893f09aff6e318279964eff644263b7d7f7 100644 --- a/scripts/cmake/Find.cmake +++ b/scripts/cmake/Find.cmake @@ -18,7 +18,7 @@ FIND_PACKAGE(cppcheck) ###################### # Clang does not have OpenMP support atm, see https://github.com/ufz/ogs/issues/8 -IF(CMAKE_CXX_COMPILER MATCHES "!clang") +IF(NOT COMPILER_IS_CLANG) FIND_PACKAGE(OpenMP) ENDIF () # !clang IF(OPENMP_FOUND) diff --git a/scripts/cmake/FindMetis.cmake b/scripts/cmake/FindMetis.cmake index f368791f09ea37fbf6a1ed5fe157f3528f1c7b6c..c9518513c277831a5aadc73252263cb6ece91377 100644 --- a/scripts/cmake/FindMetis.cmake +++ b/scripts/cmake/FindMetis.cmake @@ -23,5 +23,7 @@ FIND_LIBRARY(METIS_LIBRARY metis ${CMAKE_SOURCE_DIR}/../libs/lib ) +SET(METIS_LIBRARIES ${METIS_LIBRARY}) + INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(Metis DEFAULT_MSG METIS_LIBRARY METIS_INCLUDE_DIR)