From d2e200dfe881e08fec5bcf265d17ff493ef59bd1 Mon Sep 17 00:00:00 2001 From: Koray Date: Mon, 22 Sep 2025 11:33:20 +0300 Subject: [PATCH] add ASan support --- CMakeLists.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b718623..d0066f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,9 @@ project(m2dev-server-src) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) +# ASan support +option(ENABLE_ASAN "Enable AddressSanitizer" OFF) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/buildtool" @@ -69,6 +72,19 @@ if(NOT GIT_DESCRIBE_VERSION) set(GIT_DESCRIBE_VERSION "unknown") endif() +# ASan flags +if(ENABLE_ASAN) + if(MSVC) + add_compile_options(/fsanitize=address) + add_link_options(/fsanitize=address) + add_definitions(-D_DISABLE_VECTOR_ANNOTATION) + add_definitions(-D_DISABLE_STRING_ANNOTATION) + else() + add_compile_options(-fsanitize=address -fno-omit-frame-pointer) + add_link_options(-fsanitize=address) + endif() +endif() + add_definitions(-DNOMINMAX) add_definitions(-DWIN32_LEAN_AND_MEAN)