mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-08-12 20:22:37 -04:00
Add ASAN cmake option (#6981)
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user