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 identification| Preset | 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-x64mac-uni (both ARM64 + x86_64)win-dbg, win-rel, win-ai, etc.win-arm, win-arm-relMost 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-dbgcmake --preset <your-preset> to regenerate compile_commands.jsoncp build/compile_commands.json .git submodule update --init --recursivebrew install openssl (macOS)