add ASan support
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user