From be6c0036048b9daa49a5e6c6cc6cc58e0a6c83c8 Mon Sep 17 00:00:00 2001 From: irisz64 Date: Mon, 15 Dec 2025 10:53:32 +0100 Subject: [PATCH] CMake: add option for enabling sanitizers --- CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 43d6f61f..2cf15c31 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,10 +13,14 @@ if(APPLE) enable_language(OBJC) endif() +set(SANITIZERS FALSE) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(${CMAKE_BUILD_TYPE} MATCHES Release OR ${CMAKE_BUILD_TYPE} MATCHES RelWithDebInfo) - set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + if(NOT SANITIZERS) + message("LTO ON") + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + endif() endif() include_directories( @@ -147,7 +151,7 @@ endif() target_link_libraries(kaizen PUBLIC imgui SDL3::SDL3 SDL3::SDL3-static cflags::cflags ${MIO_LIB} parallel-rdp capstone backend) target_compile_definitions(kaizen PUBLIC SDL_MAIN_HANDLED) -if (${CMAKE_BUILD_TYPE} MATCHES Debug) +if (SANITIZERS) target_compile_options(kaizen PUBLIC -fsanitize=undefined -fsanitize=address) target_link_options(kaizen PUBLIC -fsanitize=undefined -fsanitize=address) endif ()