summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSander Vrijders <sander.vrijders@ugent.be>2017-11-14 21:49:19 +0100
committerDimitri Staessens <dimitri.staessens@ugent.be>2017-11-14 21:51:25 +0100
commit91cbb32d3122dc9a63a5fdfc09d7c8822f95ddf6 (patch)
treeac906026ea51084824ae2b69a0733563aaff0a51
parent05da75f1fb08719b373ba94a9faf5d5ce77d3874 (diff)
downloadouroboros-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.txt6
-rw-r--r--cmake/CompilerUtils.cmake1
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})