diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 11 |
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) | |||
10 | option(AVOID_BINDING_REBUILD "AVOID_BINDING_REBUILD" OFF) | 10 | option(AVOID_BINDING_REBUILD "AVOID_BINDING_REBUILD" OFF) |
11 | option(CATCH_ERRORS "CATCH_ERRORS" OFF) | 11 | option(CATCH_ERRORS "CATCH_ERRORS" OFF) |
12 | option(ENABLE_MEMCHECK "Build valgrind tests" OFF) | 12 | option(ENABLE_MEMCHECK "Build valgrind tests" OFF) |
13 | option(ENABLE_ASAN "Enable the address sanitizer" OFF) | ||
13 | 14 | ||
14 | # ECM setup | 15 | # ECM setup |
15 | find_package(ECM 1.0.0 REQUIRED NO_MODULE) | 16 | find_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") |
45 | endif() | 46 | endif() |
46 | 47 | ||
48 | if (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}") | ||
55 | endif() | ||
56 | |||
57 | |||
47 | #Clang-format support | 58 | #Clang-format support |
48 | add_custom_command( | 59 | add_custom_command( |
49 | OUTPUT format.dummy | 60 | OUTPUT format.dummy |