diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 52c8b10f..7e560198 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
@@ -26,6 +26,18 @@ if(ASSOC_DHT) | |||
26 | add_definitions(-DENABLE_ASSOC_DHT=1) | 26 | add_definitions(-DENABLE_ASSOC_DHT=1) |
27 | endif() | 27 | endif() |
28 | 28 | ||
29 | option(ASAN "Enable address-sanitizer to detect invalid memory accesses" OFF) | ||
30 | if(ASAN) | ||
31 | include(CheckCCompilerFlag) | ||
32 | set(SAFE_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}") | ||
33 | set(CMAKE_REQUIRED_LIBRARIES "-fsanitize=address") | ||
34 | check_c_compiler_flag("-fsanitize=address" HAVE_ASAN) | ||
35 | if(HAVE_ASAN) | ||
36 | set(CMAKE_C_FLAGS "-fsanitize=address") | ||
37 | endif() | ||
38 | set(CMAKE_REQUIRED_LIBRARIES "${SAFE_CMAKE_REQUIRED_LIBRARIES}") | ||
39 | endif() | ||
40 | |||
29 | find_package(PkgConfig REQUIRED) | 41 | find_package(PkgConfig REQUIRED) |
30 | find_package(Threads REQUIRED) | 42 | find_package(Threads REQUIRED) |
31 | 43 | ||