summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-11-09 14:02:21 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-11-09 14:02:21 +0100
commit26205d4c29a927f5d7d8b2afa76229346bb1321a (patch)
treea257da8badd761dce6493aab56cd5ceb3563cebd
parentc6119654921decf0412149484b546dfc4902346c (diff)
downloadsink-26205d4c29a927f5d7d8b2afa76229346bb1321a.tar.gz
sink-26205d4c29a927f5d7d8b2afa76229346bb1321a.zip
ASAN support
-rw-r--r--CMakeLists.txt11
1 files changed, 11 insertions, 0 deletions
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)
10option(AVOID_BINDING_REBUILD "AVOID_BINDING_REBUILD" OFF) 10option(AVOID_BINDING_REBUILD "AVOID_BINDING_REBUILD" OFF)
11option(CATCH_ERRORS "CATCH_ERRORS" OFF) 11option(CATCH_ERRORS "CATCH_ERRORS" OFF)
12option(ENABLE_MEMCHECK "Build valgrind tests" OFF) 12option(ENABLE_MEMCHECK "Build valgrind tests" OFF)
13option(ENABLE_ASAN "Enable the address sanitizer" OFF)
13 14
14# ECM setup 15# ECM setup
15find_package(ECM 1.0.0 REQUIRED NO_MODULE) 16find_package(ECM 1.0.0 REQUIRED NO_MODULE)
@@ -44,6 +45,16 @@ if (${ENABLE_MEMCHECK})
44 set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full") 45 set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full")
45endif() 46endif()
46 47
48if (ENABLE_ASAN)
49 set(SINK_ASAN_FLAG "-fsanitize=address -fPIE -fno-omit-frame-pointer -O1 ")
50 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SINK_ASAN_FLAG}")
51 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SINK_ASAN_FLAG}")
52 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${SINK_ASAN_FLAG}")
53 set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${SINK_ASAN_FLAG}")
54 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${SINK_ASAN_FLAG}")
55endif()
56
57
47#Clang-format support 58#Clang-format support
48add_custom_command( 59add_custom_command(
49 OUTPUT format.dummy 60 OUTPUT format.dummy