Changeset: c358c5448e58 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c358c5448e58
Modified Files:
CMakeLists.txt
Branch: cmake-fun
Log Message:
Clang compilation fixes.
diffs (82 lines):
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,11 +186,12 @@ else()
message(FATAL_ERROR "PASSWORD_BACKEND invalid, choose one of MD5, SHA1,
RIPEMD160, SHA224, SHA256, SHA384, SHA512")
endif()
+if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ add_compile_definitions(_GNU_SOURCE _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")
add_compile_options(-no-gcc) # Intel compiler hack
-elseif(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
- add_compile_definitions(_GNU_SOURCE _XOPEN_SOURCE)
- set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}
-D_GNU_SOURCE -D_XOPEN_SOURCE") # required for tests
elseif(MSVC)
set(_Noreturn "__declspec(noreturn)")
set(__attribute__(a) ON)
@@ -261,7 +262,7 @@ endif()
if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel" AND EXISTS
"${ROOT}/usr/include/math.h") # see
https://software.intel.com/en-us/forums/intel-c-compiler/topic/760979
file(READ "${ROOT}/usr/include/math.h" TMPTXT)
string(FIND "${TMPTXT}" "_LIB_VERSION_TYPE" FOUND_VERSION)
- if(FOUND_VERSION)
+ if(NOT FOUND_VERSION)
set(INTEL_MATH_H_HACK ON)
endif()
endif()
@@ -1111,14 +1112,14 @@ endif()
# Very Important, check for compiler flags after all libraries checks,
otherwise extra compiler flags might break the
# library tests
function(MT_removeCompilerFlag REGEX_EXPRESSION FLAG_TO_REMOVE OLD_FLAGS BUILD
NEW_FLAGS)
- if(${OLD_FLAGS} MATCHES "${REGEX_EXPRESSION}")
+ if("${OLD_FLAGS}" MATCHES "${REGEX_EXPRESSION}")
string(REGEX REPLACE "${REGEX_EXPRESSION}" "" NEW_VAR
"${OLD_FLAGS}")
set(${NEW_FLAGS} "${NEW_VAR}" PARENT_SCOPE)
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}")
+ 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()
@@ -1189,15 +1190,15 @@ else() #GCC, clang and Apple clang
endif()
if(${ENABLE_ASSERT} STREQUAL "NO")
- MT_addCompilerFlag("-fomit-frame-pointer"
"-fomit-frame-pointer" "${CMAKE_C_FLAGS}" "All" CMAKE_C_FLAGS)
+ MT_addCompilerFlag("-fomit-frame-pointer"
"-fomit-frame-pointer" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
endif()
# Linker flags
- MT_addCompilerFlag("-Wl,-Bsymbolic-functions"
"-Wl,-Bsymbolic-functions" "${LINK_OPTIONS}" "All" LINK_OPTIONS)
- MT_addCompilerFlag("-Wl,-undefined,dynamic_lookup"
"-Wl,-undefined,dynamic_lookup" "${LINK_OPTIONS}" "All" LINK_OPTIONS)
+ MT_addCompilerFlag("-Wl,-Bsymbolic-functions"
"-Wl,-Bsymbolic-functions" "${LINK_OPTIONS}" "all" LINK_OPTIONS)
+ MT_addCompilerFlag("-Wl,-undefined,dynamic_lookup"
"-Wl,-undefined,dynamic_lookup" "${LINK_OPTIONS}" "all" LINK_OPTIONS)
endif()
-function(MT_checkCompilerFlag Flag)
+function(MT_checkCompilerFlag Flag) # WARNING this doesn't work with
LINK_OPTIONS yet!
if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}")
string(REPLACE "-" "" FLAG_TEST ${Flag}) # cmake will get
confused
string(REPLACE "/" "" FLAG_TEST ${FLAG_TEST}) # cmake will get
confused
@@ -1225,6 +1226,7 @@ if(${ENABLE_STRICT} STREQUAL "YES")
MT_checkCompilerFlag("-Wno-format-truncation")
MT_checkCompilerFlag("-Wno-format-nonliteral")
MT_checkCompilerFlag("-Wno-error=suggest-attribute=format")
+ MT_checkCompilerFlag("-Wno-unused-command-line-argument")
MT_checkCompilerFlag("-Wno-cast-function-type")
MT_checkCompilerFlag("-Winit-self")
MT_checkCompilerFlag("-Winvalid-pch")
@@ -1250,7 +1252,7 @@ if(${ENABLE_STRICT} STREQUAL "YES")
MT_checkCompilerFlag("-Wno-char-subscripts")
MT_checkCompilerFlag("-Wunreachable-code")
elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel" AND ${CMAKE_SYSTEM_NAME}
STREQUAL "Linux")
- MT_addCompilerFlag("-shared-intel" "-shared-intel"
"${LINK_OPTIONS}" "All" LINK_OPTIONS)
+ MT_addCompilerFlag("-shared-intel" "-shared-intel"
"${LINK_OPTIONS}" "all" LINK_OPTIONS)
MT_checkCompilerFlag("-ansi")
MT_checkCompilerFlag("-Wall")
MT_checkCompilerFlag("-w2")
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list