diff options
| author | Dimitri Staessens <dimitri.staessens@ugent.be> | 2017-11-14 20:46:50 +0100 |
|---|---|---|
| committer | Sander Vrijders <sander.vrijders@ugent.be> | 2017-11-14 21:43:27 +0100 |
| commit | 05da75f1fb08719b373ba94a9faf5d5ce77d3874 (patch) | |
| tree | e907261dd79c5b082f8bfd75cf6c30caddb60d01 /CMakeLists.txt | |
| parent | 4c402ad8d7d38f00c2c3794675a0e99a03fca4be (diff) | |
| download | ouroboros-05da75f1fb08719b373ba94a9faf5d5ce77d3874.zip ouroboros-05da75f1fb08719b373ba94a9faf5d5ce77d3874.tar.gz | |
build: Add options for debug builds with sanitizer
This adds three build types, DebugASan, DebugTSan and DebugLSan that
enable the Address, Thread and Leak Sanitizer by setting the fsanitize
flag to the compiler. This option is supported by both gcc and clang.
Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be>
Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f23925f..f583621 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,13 @@ test_and_set_c_compiler_flag_global(-fmax-errors=5) 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") +elseif (CMAKE_BUILD_TYPE STREQUAL "DebugTSan") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread") +elseif (CMAKE_BUILD_TYPE STREQUAL "DebugLSan") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=leak") +endif () configure_file("${CMAKE_CURRENT_SOURCE_DIR}/ouroboros-dev.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/ouroboros-dev.pc" @ONLY) |
