From 91cbb32d3122dc9a63a5fdfc09d7c8822f95ddf6 Mon Sep 17 00:00:00 2001 From: Sander Vrijders Date: Tue, 14 Nov 2017 21:49:19 +0100 Subject: 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 Signed-off-by: Dimitri Staessens --- CMakeLists.txt | 6 +++--- 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}) -- cgit v1.2.3