From 7163c631a90967a5c199877e4a35c299056e0fb8 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Sat, 24 Feb 2024 12:05:27 +0300 Subject: [PATCH] Translator: Added Sanitizer option to catch leaks --- CMakeLists.txt | 1 + Translator/CMakeLists.txt | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d08588c97..671e831a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ else() endif() option(PGE_STATIC_SDLMIXER "Prefer static assembly of SDL Mixer X and libraries" ${PGE_STATIC_SDLMIXER_PLATFORM_DEFAULT}) +option(ENABLE_ADDRESS_SANITIZER "Enable the Address Sanitizer GCC feature" OFF) if(PGE_STATIC_SDLMIXER) set(PGE_SHARED_SDLMIXER OFF) diff --git a/Translator/CMakeLists.txt b/Translator/CMakeLists.txt index 8a2735169..5552e02f2 100644 --- a/Translator/CMakeLists.txt +++ b/Translator/CMakeLists.txt @@ -248,6 +248,11 @@ target_link_libraries(pge_translator ${PGE_TRANSLATOR_LINK_LIBS} ) +if(ENABLE_ADDRESS_SANITIZER) + target_compile_options(pge_translator PRIVATE -fsanitize=address) + target_link_options(pge_translator PRIVATE -fsanitize=address) +endif() + pge_set_nopie(pge_translator) install(TARGETS ${PGE_TRANSLATOR_INSTALLS}