Changeset: 8462122cbde5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8462122cbde5
Modified Files:
CMakeLists.txt
cmake/monetdb-functions.cmake
cmake/monetdb-toolchain.cmake
Branch: Jul2021
Log Message:
Remove monetdb_default_toolchain and associated cmake functions.
After fixing a typo, monetdb_default_compiler_options seems to work,
even with cmake 3.12.0.
diffs (163 lines):
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,8 +52,7 @@ test_big_endian(IS_BIG_ENDIAN)
include(monetdb-functions)
include(monetdb-findpackages)
include(monetdb-toolchain)
-monetdb_default_toolchain()
-#monetdb_default_compiler_options()
+monetdb_default_compiler_options()
include(monetdb-defines)
monetdb_hg_revision()
diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake
--- a/cmake/monetdb-functions.cmake
+++ b/cmake/monetdb-functions.cmake
@@ -49,33 +49,10 @@ function(monetdb_hg_revision)
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()
-
-function(MT_checkCompilerFlag Flag)
- # WARNING this doesn't work with LINK_OPTIONS yet!
- if(NOT "${CMAKE_C_FLAGS}" MATCHES "${Flag}")
- # cmake will get confused if we don't remove - / = ,
- string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}")
- 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)
- message(STATUS "Added ${Flag} flag for all build(s)")
- endif()
- endif()
-endfunction()
-
function(add_option_if_available Flag)
string(REGEX REPLACE "[-/=,]" "" FLAG_TEST "${Flag}")
check_c_compiler_flag(${Flag} ${FLAG_TEST}_FOUND)
- set(ISFOUND "${${FLAG_TEST}_FOUND}}")
+ set(ISFOUND "${${FLAG_TEST}_FOUND}")
if(ISFOUND)
add_compile_options("${Flag}")
endif()
diff --git a/cmake/monetdb-toolchain.cmake b/cmake/monetdb-toolchain.cmake
--- a/cmake/monetdb-toolchain.cmake
+++ b/cmake/monetdb-toolchain.cmake
@@ -6,108 +6,6 @@
# Copyright 1997 - July 2008 CWI, August 2008 - 2021 MonetDB B.V.
#]]
-function(monetdb_default_toolchain)
- if (${FORCE_COLORED_OUTPUT})
- if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
- MT_addCompilerFlag("-fdiagnostics-color=always"
"-fdiagnostics-color=always" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- elseif ("${CMAKE_C_COMPILER_ID}" MATCHES "^(Clang|AppleClang)$")
- MT_addCompilerFlag("-fcolor-diagnostics" "-fcolor-diagnostics"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- endif ()
- endif ()
-
- if(SANITIZER)
- if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
- MT_addCompilerFlag("-fsanitize=address" "-fsanitize=address"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- MT_addCompilerFlag("-fno-omit-frame-pointer" "-fno-omit-frame-pointer"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- add_definitions(-DSANITIZER)
- else()
- message(FATAL_ERROR "Sanitizer only supported with GCC")
- endif()
- endif()
-
- if(STRICT)
- if(${CMAKE_C_COMPILER_ID} MATCHES "^(GNU|Clang|AppleClang)$")
- MT_addCompilerFlag("-Werror" "-Werror" "${CMAKE_C_FLAGS}" "all"
CMAKE_C_FLAGS)
- MT_addCompilerFlag("-Wall" "-Wall" "${CMAKE_C_FLAGS}" "all"
CMAKE_C_FLAGS)
- MT_addCompilerFlag("-Wextra" "-Wextra" "${CMAKE_C_FLAGS}" "all"
CMAKE_C_FLAGS)
- MT_addCompilerFlag("-W" "-W" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- MT_checkCompilerFlag("-Werror-implicit-function-declaration")
-
- MT_checkCompilerFlag("-Wpointer-arith")
- MT_checkCompilerFlag("-Wundef")
- MT_checkCompilerFlag("-Wformat=2")
- MT_checkCompilerFlag("-Wformat-overflow=1")
- MT_checkCompilerFlag("-Wno-format-truncation")
- MT_checkCompilerFlag("-Wno-format-nonliteral")
- #MT_checkCompilerFlag("-Wformat-signedness") -- numpy messes this up
- MT_checkCompilerFlag("-Wno-cast-function-type")
- MT_checkCompilerFlag("-Winit-self")
- MT_checkCompilerFlag("-Winvalid-pch")
- MT_checkCompilerFlag("-Wmissing-declarations")
- MT_checkCompilerFlag("-Wmissing-format-attribute")
- MT_checkCompilerFlag("-Wmissing-prototypes")
- # need this for clang 9.1.0 on Darwin:
- MT_checkCompilerFlag("-Wno-missing-field-initializers")
- MT_checkCompilerFlag("-Wold-style-definition")
- MT_checkCompilerFlag("-Wpacked")
- MT_checkCompilerFlag("-Wunknown-pragmas")
- MT_checkCompilerFlag("-Wvariadic-macros")
- MT_checkCompilerFlag("-Wstack-protector")
- MT_checkCompilerFlag("-fstack-protector-all")
- MT_checkCompilerFlag("-Wpacked-bitfield-compat")
- MT_checkCompilerFlag("-Wsync-nand")
- MT_checkCompilerFlag("-Wjump-misses-init")
- MT_checkCompilerFlag("-Wmissing-include-dirs")
- MT_checkCompilerFlag("-Wlogical-op")
- MT_checkCompilerFlag("-Wduplicated-cond")
- MT_checkCompilerFlag("-Wduplicated-branches")
- MT_checkCompilerFlag("-Wrestrict")
- MT_checkCompilerFlag("-Wnested-externs")
- MT_checkCompilerFlag("-Wmissing-noreturn")
- MT_checkCompilerFlag("-Wuninitialized")
-
- # since we use values of type "int8_t" as subscript,
- # and int8_t may be defined as plain "char", we cannot
- # allow this warning (part of -Wall)
- MT_checkCompilerFlag("-Wno-char-subscripts")
-
- MT_checkCompilerFlag("-Wunreachable-code")
-
- elseif(${CMAKE_C_COMPILER_ID} STREQUAL "Intel")
- if(WIN32)
- set(COMPILER_OPTION "/")
- MT_addCompilerFlag("${COMPILER_OPTION}W3" "${COMPILER_OPTION}W3"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- MT_addCompilerFlag("${COMPILER_OPTION}Qdiag-disable:11074"
"${COMPILER_OPTION}Qdiag-disable:11074" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- MT_addCompilerFlag("${COMPILER_OPTION}Qdiag-disable:11075"
"${COMPILER_OPTION}Qdiag-disable:11075" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- else()
- set(COMPILER_OPTION "-")
- MT_addCompilerFlag("${COMPILER_OPTION}Wall" "${COMPILER_OPTION}Wall"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- endif()
- MT_addCompilerFlag("${COMPILER_OPTION}Wcheck" "${COMPILER_OPTION}Wcheck"
"${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- MT_addCompilerFlag("${COMPILER_OPTION}Werror-all"
"${COMPILER_OPTION}Werror-all" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- MT_addCompilerFlag("${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd2259"
"${COMPILER_OPTION}${INTEL_OPTION_EXTRA}wd2259" "${CMAKE_C_FLAGS}" "all"
CMAKE_C_FLAGS)
- elseif(MSVC)
- MT_addCompilerFlag("/WX" "/WX" "${CMAKE_C_FLAGS}" "all" CMAKE_C_FLAGS)
- endif()
- endif()
-
- if(NOT MSVC)
- cmake_push_check_state()
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS};-Wno-unreachable-code")
- # Warning don't add '-' or '/' to the output variable!
- check_c_source_compiles("int main(int argc,char**
argv){(void)argc;(void)argv;return 0;}"
- COMPILER_Wnounreachablecode)
- cmake_pop_check_state()
- endif()
-
- if(NOT ASSERT)
- MT_checkCompilerFlag("-DNDEBUG=1")
- endif()
-
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" PARENT_SCOPE)
-
-endfunction()
-
function(monetdb_default_compiler_options)
if (${FORCE_COLORED_OUTPUT})
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list