From acaaf6fc91eb968110ef42fbfff6e27c21949aad Mon Sep 17 00:00:00 2001 From: mq1n Date: Mon, 22 Sep 2025 11:27:05 +0300 Subject: [PATCH] ASan support added --- CMakeLists.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2732f64..8002fae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,9 @@ project(m2dev-client-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" @@ -28,6 +31,19 @@ add_compile_options( $<$:/wd4996> ) +# 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) add_definitions(-D_CRT_SECURE_NO_WARNINGS)