aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt18
1 files changed, 18 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d63b50510..11c549d7c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -238,6 +238,16 @@ if(STATIC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DZMQ_STATIC")
endif()
+if(SANITIZE)
+ if (MSVC)
+ message(FATAL_ERROR "Cannot sanitize with MSVC")
+ else()
+ message(STATUS "Using ASAN")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")
+ endif()
+endif()
+
# Set default blockchain storage location:
# memory was the default in Cryptonote before Monero implimented LMDB, it still works but is unneccessary.
# set(DATABASE memory)
@@ -768,3 +778,11 @@ option(BUILD_GUI_DEPS "Build GUI dependencies." OFF)
option(INSTALL_VENDORED_LIBUNBOUND "Install libunbound binary built from source vendored with this repo." OFF)
+include(CheckCCompilerFlag)
+
+CHECK_C_COMPILER_FLAG(-std=c11 HAVE_C11)
+
+include(CheckLibraryExists)
+
+check_library_exists(c memset_s "string.h" HAVE_MEMSET_S)
+check_library_exists(c explicit_bzero "strings.h" HAVE_EXPLICIT_BZERO)