From 26205d4c29a927f5d7d8b2afa76229346bb1321a Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 9 Nov 2017 14:02:21 +0100 Subject: ASAN support --- CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ee08ae..74c045f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ option(BUILD_DAV "BUILD_DAV" ON) option(AVOID_BINDING_REBUILD "AVOID_BINDING_REBUILD" OFF) option(CATCH_ERRORS "CATCH_ERRORS" OFF) option(ENABLE_MEMCHECK "Build valgrind tests" OFF) +option(ENABLE_ASAN "Enable the address sanitizer" OFF) # ECM setup find_package(ECM 1.0.0 REQUIRED NO_MODULE) @@ -44,6 +45,16 @@ if (${ENABLE_MEMCHECK}) set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full") endif() +if (ENABLE_ASAN) + set(SINK_ASAN_FLAG "-fsanitize=address -fPIE -fno-omit-frame-pointer -O1 ") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SINK_ASAN_FLAG}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SINK_ASAN_FLAG}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SINK_ASAN_FLAG}") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SINK_ASAN_FLAG}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SINK_ASAN_FLAG}") +endif() + + #Clang-format support add_custom_command( OUTPUT format.dummy -- cgit v1.2.3