diff options
author | Sander Vrijders <sander.vrijders@ugent.be> | 2017-11-14 21:49:19 +0100 |
---|---|---|
committer | Dimitri Staessens <dimitri.staessens@ugent.be> | 2017-11-14 21:51:25 +0100 |
commit | 91cbb32d3122dc9a63a5fdfc09d7c8822f95ddf6 (patch) | |
tree | ac906026ea51084824ae2b69a0733563aaff0a51 | |
parent | 05da75f1fb08719b373ba94a9faf5d5ce77d3874 (diff) | |
download | ouroboros-91cbb32d3122dc9a63a5fdfc09d7c8822f95ddf6.tar.gz ouroboros-91cbb32d3122dc9a63a5fdfc09d7c8822f95ddf6.zip |
build: Set CMAKE_REQUIRED_FLAGS in CompilerUtils
This sets the cmake variable CMAKE_REQUIRED_FLAGS to the compiler
flags that are being tested so that the linker doesn't fail when
trying the compile flag.
Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | cmake/CompilerUtils.cmake | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f5836217..1a5e4a94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,11 +71,11 @@ if (CMAKE_BUILD_TYPE STREQUAL "Release") test_and_set_c_compiler_flag_global(-O3) endif () if (CMAKE_BUILD_TYPE STREQUAL "DebugASan") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address") + test_and_set_c_compiler_flag_global(-fsanitize=address) elseif (CMAKE_BUILD_TYPE STREQUAL "DebugTSan") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread") + test_and_set_c_compiler_flag_global(-fsanitize=thread) elseif (CMAKE_BUILD_TYPE STREQUAL "DebugLSan") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=leak") + test_and_set_c_compiler_flag_global(-fsanitize=leak) endif () configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ouroboros-dev.pc.in" diff --git a/cmake/CompilerUtils.cmake b/cmake/CompilerUtils.cmake index b9fd391c..7c8b022f 100644 --- a/cmake/CompilerUtils.cmake +++ b/cmake/CompilerUtils.cmake @@ -3,6 +3,7 @@ include(CheckCCompilerFlag) function(test_and_set_c_compiler_flag_global _flag) string(REGEX REPLACE "-" "_" _sflag ${_flag}) + set(CMAKE_REQUIRED_FLAGS ${_flag}) check_c_compiler_flag(${_flag} COMPILER_SUPPORTS_FLAG_${_sflag}) if(COMPILER_SUPPORTS_FLAG_${_sflag}) |