diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 88331490b8..949ae163af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -191,13 +191,18 @@ include_directories(SYSTEM ${LIBTERMKEY_INCLUDE_DIRS}) find_package(LibVterm REQUIRED) include_directories(SYSTEM ${LIBVTERM_INCLUDE_DIRS}) -option(SANITIZE "Enable Clang sanitizers for nvim binary" OFF) -if(SANITIZE AND NOT CMAKE_C_COMPILER_ID MATCHES "Clang") - message(WARNING "SANITIZE is only supported for Clang, disabling") - set(SANITIZE OFF) +option(CLANG_ASAN "Enable Clang address sanitizer for nvim binary." OFF) +option(CLANG_MSAN "Enable Clang memory sanitizer for nvim binary." OFF) +if(CLANG_ASAN AND CLANG_MSAN) + message(FATAL_ERROR "CLANG_ASAN and CLANG_MSAN cannot be enabled simultaneously.") +endif() +if((CLANG_ASAN OR CLANG_MSAN) AND NOT CMAKE_C_COMPILER_ID MATCHES "Clang") + message(FATAL_ERROR "Sanitizers are only supported for Clang.") endif() -if(NOT SANITIZE) +if(CLANG_ASAN OR CLANG_MSAN) + message(STATUS "Sanitizers have been enabled; don't use jemalloc.") +else() find_package(JeMalloc) if(JEMALLOC_FOUND) include_directories(SYSTEM ${JEMALLOC_INCLUDE_DIRS}) |