diff --git a/CMakeLists.txt b/CMakeLists.txt index ea25212fec73425108866d29e0acdd61c56f18c6..dc6b714ef9e698d7b6e782780ae251d9f80da7ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -938,12 +938,19 @@ if(ZIG_EXTRA_BUILD_ARGS) list(APPEND ZIG_BUILD_ARGS ${ZIG_EXTRA_BUILD_ARGS}) endif() +set(ZIG_RELEASE_SAFE OFF CACHE BOOL "Build Zig as ReleaseSafe (with debug assertions on)") + if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") list(APPEND ZIG_BUILD_ARGS -Doptimize=Debug) -elseif("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") - list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseFast) else() - list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseFast -Dstrip) + if(ZIG_RELEASE_SAFE) + list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseSafe) + else() + list(APPEND ZIG_BUILD_ARGS -Doptimize=ReleaseFast) + endif() + if(NOT "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo") + list(APPEND ZIG_BUILD_ARGS -Dstrip) + endif() endif() if(ZIG_STATIC AND NOT MSVC)