Add ASAN cmake option (#6981)

This commit is contained in:
louist103
2026-07-25 14:05:12 +00:00
committed by GitHub
parent 90c6b34e8f
commit 27e6fe015c
2 changed files with 28 additions and 0 deletions
+27
View File
@@ -715,6 +715,33 @@ else()
)
endif()
if(USE_ASAN)
target_compile_options(libultraship PRIVATE -fsanitize=address)
target_link_options(libultraship PRIVATE -fsanitize=address)
target_compile_options(soh PRIVATE -fsanitize=address)
target_link_options(soh PRIVATE -fsanitize=address)
target_link_options(ZAPD PRIVATE -fsanitize=address)
target_link_options(OTRExporter PRIVATE -fsanitize=address)
target_compile_options(ZAPD PRIVATE -fsanitize=address)
target_compile_options(OTRExporter PRIVATE -fsanitize=address)
if (MSVC)
target_compile_definitions(ImGui PRIVATE _DISABLE_VECTOR_ANNOTATION)
target_compile_definitions(ImGui PRIVATE _DISABLE_STRING_ANNOTATION)
target_compile_definitions(libultraship PRIVATE _DISABLE_VECTOR_ANNOTATION)
target_compile_definitions(libultraship PRIVATE _DISABLE_STRING_ANNOTATION)
target_compile_definitions(soh PRIVATE _DISABLE_VECTOR_ANNOTATION)
target_compile_definitions(soh PRIVATE _DISABLE_STRING_ANNOTATION)
target_compile_options(libultraship PRIVATE $<$<CONFIG:Debug>:/Zi;>)
target_compile_options(soh PRIVATE $<$<CONFIG:Debug>:/Zi;>)
# The default stack size on Windows is 1MB. ASAN uses a lot more stack so boost it to 16
set_target_properties(soh PROPERTIES
LINK_FLAGS "/STACK:16777216"
)
endif()
endif()
if(NOT CMAKE_SYSTEM_NAME MATCHES "Darwin|NintendoSwitch|CafeOS")
INSTALL(TARGETS soh DESTINATION . COMPONENT ship)
endif()