Changeset: a0b77fec6eb2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a0b77fec6eb2
Modified Files:
CMakeLists.txt
Branch: cmake-fun
Log Message:
Replace with correct check.
diffs (71 lines):
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -149,26 +149,22 @@ else()
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
endif()
-function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with
LINK_OPTIONS yet!
- if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}")
- string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake
will get confused if we don't remove - / = ,
- cmake_push_check_state()
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}")
- check_c_source_compiles("int main(int argc,char**
argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST})
- cmake_pop_check_state()
- if(COMPILER_${FLAG_TEST})
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}"
PARENT_SCOPE)
- endif()
+function(MT_addCompilerFlag REGEX_EXPRESSION FLAG_TO_ADD OLD_FLAGS BUILD
NEW_FLAGS)
+ if(NOT "${OLD_FLAGS}" MATCHES "${REGEX_EXPRESSION}")
+ set(${NEW_FLAGS} "${OLD_FLAGS} ${FLAG_TO_ADD}" PARENT_SCOPE)
+ message(STATUS "Added ${FLAG_TO_ADD} flag for ${BUILD}
build(s)")
endif()
endfunction()
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT ${CMAKE_C_COMPILER_ID}
STREQUAL "Intel")
add_definitions(-D_GNU_SOURCE -D_XOPEN_SOURCE)
set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}
-D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests
endif()
if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel")
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- MT_checkCompilerFlag("-no-gcc")
+ if(NOT ${CMAKE_C_FLAGS} MATCHES "no-gcc")
+ MT_addCompilerFlag("-no-gcc" "-no-gcc"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
+ endif()
add_definitions(-D_Float32=float -D_Float64="long double"
-D_Float32x=double -D_Float64x="long double")
endif()
if(EXISTS "${ROOT}/usr/include/math.h") # see
https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979
@@ -577,12 +573,6 @@ function(MT_removeCompilerFlag REGEX_EXP
message(STATUS "Removed ${FLAG_TO_REMOVE} flag for ${BUILD}
build(s)")
endif()
endfunction()
-function(MT_addCompilerFlag REGEX_EXPRESSION FLAG_TO_ADD OLD_FLAGS BUILD
NEW_FLAGS)
- if(NOT "${OLD_FLAGS}" MATCHES "${REGEX_EXPRESSION}")
- set(${NEW_FLAGS} "${OLD_FLAGS} ${FLAG_TO_ADD}" PARENT_SCOPE)
- message(STATUS "Added ${FLAG_TO_ADD} flag for ${BUILD}
build(s)")
- endif()
-endfunction()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") # Initialize variable
if(MSVC)
@@ -667,6 +657,19 @@ else() #GCC, clang and Apple clang
endif()
endif()
+function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with
LINK_OPTIONS yet!
+ if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}")
+ string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}") # cmake
will get confused if we don't remove - / = ,
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${Flag}")
+ check_c_source_compiles("int main(int argc,char**
argv){(void)argc;(void)argv;return 0;}" COMPILER_${FLAG_TEST})
+ cmake_pop_check_state()
+ if(COMPILER_${FLAG_TEST})
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Flag}"
PARENT_SCOPE)
+ endif()
+ endif()
+endfunction()
+
if(${ENABLE_STRICT} STREQUAL "YES")
if(${CMAKE_C_COMPILER_ID} MATCHES "^GNU|Clang|AppleClang$")
MT_checkCompilerFlag("-W")
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list