From 0e0db1074b3d4e4c6470215ea5226c636cbaafa4 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 20 Mar 2026 14:41:33 -0700 Subject: [PATCH] build: set zig optimize flag for CMake release builds Map CMake release build types (Release, MinSizeRel, RelWithDebInfo) to -Doptimize=ReleaseFast so that zig build automatically produces optimized builds when CMake is configured for a release variant. Debug builds remain unaffected, letting Zig use its default Debug optimization level. --- CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4198bca36..cb7290465 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,6 +52,15 @@ project(ghostty-vt VERSION 0.1.0 LANGUAGES C) set(GHOSTTY_ZIG_BUILD_FLAGS "" CACHE STRING "Additional flags to pass to zig build") +# Map CMake build types to Zig optimization levels. +if(CMAKE_BUILD_TYPE) + string(TOUPPER "${CMAKE_BUILD_TYPE}" _bt) + if(_bt STREQUAL "RELEASE" OR _bt STREQUAL "MINSIZEREL" OR _bt STREQUAL "RELWITHDEBINFO") + list(APPEND GHOSTTY_ZIG_BUILD_FLAGS "-Doptimize=ReleaseFast") + endif() + unset(_bt) +endif() + # --- Find Zig ---------------------------------------------------------------- find_program(ZIG_EXECUTABLE zig REQUIRED)