aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
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})