diff --git a/CMakeLists.txt b/CMakeLists.txt
index 11dbf6dbbcd18b8d5af02b3c500ba2a921baa21f..1fbbffa008294043bfbafc7ef38049b9e63ec621 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -172,11 +172,13 @@ endif()
 
 # Set ASAN
 if("x${CMAKE_BUILD_TYPE}" STREQUAL "xDebug")
-    if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
-        target_compile_options(Vivy PRIVATE -g -O1 -fsanitize=address -fno-omit-frame-pointer -fsanitize-address-use-after-return=always)
-    elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
-        target_compile_options(Vivy PRIVATE -g -O1 -fsanitize=address -fno-omit-frame-pointer)
+    if (NOT "x${VIVY_DISABLE_ASAN}" STREQUAL "xyes")
+        if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
+            target_compile_options(Vivy PRIVATE -g -O1 -fsanitize=address -fno-omit-frame-pointer -fsanitize-address-use-after-return=always)
+        elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
+            target_compile_options(Vivy PRIVATE -g -O1 -fsanitize=address -fno-omit-frame-pointer)
+        endif()
+
+        target_link_libraries(Vivy PRIVATE -g -O1 -fsanitize=address)
     endif()
-
-    target_link_libraries(Vivy PRIVATE -g -O1 -fsanitize=address)
 endif()