aboutsummaryrefslogtreecommitdiff
path: root/cube
diff options
context:
space:
mode:
authorCharles Giessen <charles@lunarg.com>2023-04-07 14:38:40 -0600
committerCharles Giessen <46324611+charles-lunarg@users.noreply.github.com>2023-04-07 15:16:22 -0600
commit4e17c284d67de468d62ec79fb0b4a3eff76447ea (patch)
treec0af2d6f0263da1124448693265501d4d8365bf7 /cube
parent9178c4c8b468824dfb6056b8f3de996a6d6cc81d (diff)
downloadusermoji-4e17c284d67de468d62ec79fb0b4a3eff76447ea.tar.xz
cmake: Add build option for Address Sanitizer
Diffstat (limited to 'cube')
-rw-r--r--cube/CMakeLists.txt15
1 files changed, 15 insertions, 0 deletions
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()