diff --git a/CMakeLists.txt b/CMakeLists.txt index a3a51d5..195f1a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,23 @@ cmake_minimum_required(VERSION 3.0) project(zt) find_package(Threads) +if (USE_SANITIZER STREQUAL "Address") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address") +elseif (USE_SANITIZER STREQUAL "Thread") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread") +elseif (USE_SANITIZER STREQUAL "Undefined") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=undefined") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined") +elseif (USE_SANITIZER STREQUAL "Leak") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=leak") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=leak") +elseif (USE_SANITIZER STREQUAL "Memory") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=memory") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=memory") +endif() + # ------------------------------------------------------------------------------ # | PLATFORM DETECTION | # ------------------------------------------------------------------------------