From 4e17c284d67de468d62ec79fb0b4a3eff76447ea Mon Sep 17 00:00:00 2001 From: Charles Giessen Date: Fri, 7 Apr 2023 14:38:40 -0600 Subject: cmake: Add build option for Address Sanitizer --- cube/CMakeLists.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cube') diff --git a/cube/CMakeLists.txt b/cube/CMakeLists.txt index a2f026e7..3c37189e 100644 --- a/cube/CMakeLists.txt +++ b/cube/CMakeLists.txt @@ -239,6 +239,11 @@ elseif(NOT WIN32) if (NEED_RT) target_link_libraries(vkcube rt) endif() + + if (ENABLE_ADDRESS_SANITIZER) + target_compile_options(vkcube PUBLIC -fsanitize=address) + target_link_options(vkcube PUBLIC -fsanitize=address) + endif () else() if(CMAKE_CL_64) set(LIB_DIR "Win64") @@ -284,6 +289,11 @@ elseif(NOT WIN32) ${OPTIONAL_WAYLAND_DATA_FILES}) target_link_libraries(vkcubepp Vulkan::Vulkan) target_compile_definitions(vkcubepp PUBLIC ${CUBE_PLATFORM}) + + if (ENABLE_ADDRESS_SANITIZER) + target_compile_options(vkcubepp PUBLIC -fsanitize=address) + target_link_options(vkcubepp PUBLIC -fsanitize=address) + endif () else() if(CMAKE_CL_64) set(LIB_DIR "Win64") @@ -342,5 +352,10 @@ if(UNIX AND NOT APPLE) # i.e. Linux target_link_libraries(vkcube-wayland rt) endif() install(TARGETS vkcube-wayland RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + + if (ENABLE_ADDRESS_SANITIZER) + target_compile_options(vkcube-wayland PUBLIC -fsanitize=address) + target_link_options(vkcube-wayland PUBLIC -fsanitize=address) + endif () endif() endif() -- cgit v1.2.3