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}