summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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})