This document explains the reorganized CMake preset system for Yaze.
macos-dev-z3ed-ai
, just mac-ai
-v
suffix for verbose (e.g., mac-dbg-v
)mac-
, win-
, lin-
for easy identificationPreset | Description | Arch | Warnings | Features |
---|---|---|---|---|
mac-dbg | Debug build | ARM64 | Off | Basic |
mac-dbg-v | Debug verbose | ARM64 | On | Basic |
mac-rel | Release | ARM64 | Off | Basic |
mac-x64 | Debug x86_64 | x86_64 | Off | Basic |
mac-uni | Universal binary | Both | Off | Basic |
mac-dev | Development | ARM64 | Off | ROM tests |
mac-ai | AI development | ARM64 | Off | z3ed, JSON, gRPC, ROM tests |
mac-z3ed | z3ed CLI | ARM64 | Off | AI agent support |
mac-rooms | Dungeon editor | ARM64 | Off | Minimal build for room editing |
Preset | Description | Arch | Warnings | Features |
---|---|---|---|---|
win-dbg | Debug build | x64 | Off | Basic |
win-dbg-v | Debug verbose | x64 | On | Basic |
win-rel | Release | x64 | Off | Basic |
win-arm | Debug ARM64 | ARM64 | Off | Basic |
win-arm-rel | Release ARM64 | ARM64 | Off | Basic |
win-dev | Development | x64 | Off | ROM tests |
win-ai | AI development | x64 | Off | z3ed, JSON, gRPC, ROM tests |
win-z3ed | z3ed CLI | x64 | Off | AI agent support |
Preset | Description | Compiler | Warnings |
---|---|---|---|
lin-dbg | Debug | GCC | Off |
lin-clang | Debug | Clang | Off |
Preset | Description |
---|---|
ci | Continuous integration (no ROM tests) |
asan | AddressSanitizer build |
coverage | Code coverage build |
By default, all presets suppress compiler warnings with -w
for a cleaner build experience.
-v
suffix (e.g., mac-dbg-v
, win-dbg-v
)YAZE_SUPPRESS_WARNINGS=OFF
manually: mac-dbg
, mac-rel
, mac-ai
, etc.mac-x64
mac-uni
(both ARM64 + x86_64)win-dbg
, win-rel
, win-ai
, etc.win-arm
, win-arm-rel
Most presets use build/
directory. Exceptions:
mac-rooms
: Uses build_rooms/
to avoid conflictsCommon CMake options you can override:
After configuring with a new preset, copy the compile commands for IDE support:
This ensures clangd and other LSP servers can find headers and understand build flags.
Old preset names have been simplified:
Old Name | New Name |
---|---|
macos-dev-z3ed-ai | mac-ai |
macos-debug | mac-dbg |
macos-release | mac-rel |
macos-debug-universal | mac-uni |
macos-dungeon-dev | mac-rooms |
windows-debug | win-dbg |
windows-release | win-rel |
windows-arm64-debug | win-arm |
linux-debug | lin-dbg |
linux-clang | lin-clang |
-v
suffixcmake
output for ✓ Warnings suppressed
messagerm -rf build && cmake --preset mac-dbg
cmake --preset <your-preset>
to regenerate compile_commands.jsoncp build/compile_commands.json .
git submodule update --init --recursive
brew install openssl
(macOS)