diff options
author | Martin Nowack <m.nowack@imperial.ac.uk> | 2023-02-23 21:47:53 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2023-03-17 22:38:16 +0000 |
commit | 3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c (patch) | |
tree | a2cb9e4c193d674b4f49634d0f546b65ce547860 /cmake/compiler_warnings.cmake | |
parent | 7a4a9b9b47d2fe9b90cee95d68d89faa24a118d4 (diff) | |
download | klee-3ef5c9d0cd51babb7c4ec2d7bb76d0cb7e47a65c.tar.gz |
[cmake] Use LLVM's CMake functionality only
LLVM became more complex, use LLVM's CMake functionality directly instead of replicating this behaviour in KLEE's build system. Use the correct build flags provided by LLVM itself. This is influenced by the way LLVM is built in the first place. Remove older CMake support (< 3.0).
Diffstat (limited to 'cmake/compiler_warnings.cmake')
-rw-r--r-- | cmake/compiler_warnings.cmake | 57 |
1 files changed, 4 insertions, 53 deletions
diff --git a/cmake/compiler_warnings.cmake b/cmake/compiler_warnings.cmake index 9e6e67ef..b8d00a6b 100644 --- a/cmake/compiler_warnings.cmake +++ b/cmake/compiler_warnings.cmake @@ -13,67 +13,18 @@ # NOTE: All these variables should be lists of flags and NOT a single string. ############################################################################### # FIXME: -Wunused-parameter fires a lot so for now suppress it. -set(GCC_AND_CLANG_WARNINGS_CXX +add_compile_options( "-Wall" "-Wextra" - "-Wno-unused-parameter") -set(GCC_AND_CLANG_WARNINGS_C - "-Wall" - "-Wextra" - "-Wno-unused-parameter") -set(GCC_ONLY_WARNINGS_C "") -set(GCC_ONLY_WARNINGS_CXX "") -set(CLANG_ONLY_WARNINGS_C "") -set(CLANG_ONLY_WARNINGS_CXX "") - -############################################################################### -# Check which warning flags are supported and use them globally -############################################################################### -set(CXX_WARNING_FLAGS_TO_CHECK "") -set(C_WARNING_FLAGS_TO_CHECK "") - -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") - list(APPEND CXX_WARNING_FLAGS_TO_CHECK ${GCC_AND_CLANG_WARNINGS_CXX}) - list(APPEND CXX_WARNING_FLAGS_TO_CHECK ${GCC_ONLY_WARNINGS_CXX}) -elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - list(APPEND CXX_WARNING_FLAGS_TO_CHECK ${GCC_AND_CLANG_WARNINGS_CXX}) - list(APPEND CXX_WARNING_FLAGS_TO_CHECK ${CLANG_ONLY_WARNINGS_CXX}) -else() - message(AUTHOR_WARNING "Unknown compiler") -endif() - -if ("${CMAKE_C_COMPILER_ID}" MATCHES "GNU") - list(APPEND C_WARNING_FLAGS_TO_CHECK ${GCC_AND_CLANG_WARNINGS_C}) - list(APPEND C_WARNING_FLAGS_TO_CHECK ${GCC_ONLY_WARNINGS_C}) -elseif ("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") - list(APPEND C_WARNING_FLAGS_TO_CHECK ${GCC_AND_CLANG_WARNINGS_C}) - list(APPEND C_WARNING_FLAGS_TO_CHECK ${CLANG_ONLY_WARNINGS_C}) -else() - message(AUTHOR_WARNING "Unknown compiler") -endif() - -# Loop through flags and use the ones which the compiler supports -foreach (flag ${CXX_WARNING_FLAGS_TO_CHECK}) - # Note `add_global_cxx_flag()` is used rather than - # `klee_component_add_cxx_flag()` because warning - # flags are typically useful for building everything. - add_global_cxx_flag("${flag}") -endforeach() -foreach (flag ${C_WARNING_FLAGS_TO_CHECK}) - add_global_c_flag("${flag}") -endforeach() + "-Wno-unused-parameter" +) ############################################################################### # Warnings as errors ############################################################################### option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF) if (WARNINGS_AS_ERRORS) - if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")) - add_global_cxx_flag("-Werror" REQUIRED) - add_global_c_flag("-Werror" REQUIRED) - else() - message(AUTHOR_WARNING "Unknown compiler") - endif() + add_compile_options("-Werror") message(STATUS "Treating compiler warnings as errors") else() message(STATUS "Not treating compiler warnings as errors") |