{ "version": 6, "cmakeMinimumRequired": { "major": 3, "minor": 16, "patch": 0 }, "configurePresets": [ { "name": "base", "hidden": true, "description": "Base preset with common settings", "binaryDir": "${sourceDir}/build", "generator": "Ninja Multi-Config", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "YAZE_BUILD_APP": "ON", "YAZE_BUILD_LIB": "ON", "YAZE_BUILD_EMU": "ON", "YAZE_BUILD_CLI": "ON" } }, { "name": "windows-base", "hidden": true, "description": "Base Windows preset with MSVC/clang-cl support", "binaryDir": "${sourceDir}/build", "generator": "Ninja Multi-Config", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }, "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded$<$:Debug>", "YAZE_BUILD_APP": "ON", "YAZE_BUILD_LIB": "ON", "YAZE_BUILD_EMU": "ON", "YAZE_BUILD_CLI": "ON", "YAZE_SUPPRESS_WARNINGS": "ON" }, "architecture": { "value": "x64", "strategy": "external" } }, { "name": "windows-vs-base", "hidden": true, "description": "Base Windows preset for Visual Studio Generator", "binaryDir": "${sourceDir}/build", "generator": "Visual Studio 17 2022", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" }, "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_MSVC_RUNTIME_LIBRARY": "MultiThreaded$<$:Debug>", "YAZE_BUILD_APP": "ON", "YAZE_BUILD_LIB": "ON", "YAZE_BUILD_EMU": "ON", "YAZE_BUILD_CLI": "ON", "YAZE_SUPPRESS_WARNINGS": "ON" }, "architecture": { "value": "x64", "strategy": "set" } }, { "name": "dev", "inherits": "base", "displayName": "Developer Build", "description": "Full development build with all features", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_ENABLE_ROM_TESTS": "ON" } }, { "name": "ci", "inherits": "base", "displayName": "CI Build", "description": "Continuous integration build", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_ENABLE_ROM_TESTS": "OFF", "YAZE_MINIMAL_BUILD": "OFF" } }, { "name": "release", "inherits": "base", "displayName": "Release Build", "description": "Optimized release build", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "YAZE_BUILD_TESTS": "OFF", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_ENABLE_LTO": "ON" } }, { "name": "minimal", "inherits": "base", "displayName": "Minimal Build", "description": "Minimal build for CI (no gRPC/AI)", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_MINIMAL_BUILD": "ON" } }, { "name": "ci-linux", "inherits": "base", "displayName": "CI Build - Linux", "description": "CI build with gRPC enabled (uses caching for speed)", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_ENABLE_ROM_TESTS": "OFF", "YAZE_MINIMAL_BUILD": "OFF", "YAZE_BUILD_AGENT_UI": "ON", "YAZE_ENABLE_REMOTE_AUTOMATION": "ON", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "ci-macos", "inherits": "base", "displayName": "CI Build - macOS", "description": "CI build with gRPC enabled (uses caching for speed)", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_ENABLE_ROM_TESTS": "OFF", "YAZE_MINIMAL_BUILD": "OFF", "YAZE_BUILD_AGENT_UI": "ON", "YAZE_ENABLE_REMOTE_AUTOMATION": "ON", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "ci-windows", "inherits": "windows-base", "displayName": "CI Build - Windows", "description": "CI build with gRPC enabled (uses MSVC-compatible version 1.67.1)", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_ENABLE_ROM_TESTS": "OFF", "YAZE_MINIMAL_BUILD": "OFF", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "ci-windows-ai", "inherits": "windows-base", "displayName": "CI Build - Windows (Agent)", "description": "Full agent build with gRPC + AI runtime (runs outside PRs)", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_ENABLE_ROM_TESTS": "OFF", "YAZE_MINIMAL_BUILD": "OFF", "YAZE_BUILD_AGENT_UI": "ON", "YAZE_ENABLE_REMOTE_AUTOMATION": "ON", "YAZE_ENABLE_AI_RUNTIME": "ON" } }, { "name": "coverage", "inherits": "dev", "displayName": "Coverage Build", "description": "Debug build with code coverage", "cacheVariables": { "YAZE_ENABLE_COVERAGE": "ON", "CMAKE_CXX_FLAGS": "--coverage -g -O0", "CMAKE_C_FLAGS": "--coverage -g -O0", "CMAKE_EXE_LINKER_FLAGS": "--coverage" } }, { "name": "sanitizer", "inherits": "dev", "displayName": "Sanitizer Build", "description": "Debug build with AddressSanitizer", "cacheVariables": { "YAZE_ENABLE_SANITIZERS": "ON", "CMAKE_CXX_FLAGS": "-fsanitize=address -fno-omit-frame-pointer -g", "CMAKE_C_FLAGS": "-fsanitize=address -fno-omit-frame-pointer -g", "CMAKE_EXE_LINKER_FLAGS": "-fsanitize=address" } }, { "name": "verbose", "inherits": "dev", "displayName": "Verbose Build", "description": "Development build with all warnings", "cacheVariables": { "YAZE_SUPPRESS_WARNINGS": "OFF" } }, { "name": "win-dbg", "inherits": "windows-base", "displayName": "Windows Debug (Ninja)", "description": "Debug build for Windows with Ninja generator", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "win-dbg-v", "inherits": "win-dbg", "displayName": "Windows Debug Verbose", "description": "Debug build with verbose warnings", "cacheVariables": { "YAZE_SUPPRESS_WARNINGS": "OFF" } }, { "name": "win-rel", "inherits": "windows-base", "displayName": "Windows Release (Ninja)", "description": "Release build for Windows with Ninja generator", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "YAZE_BUILD_TESTS": "OFF", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_ENABLE_LTO": "ON", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "win-dev", "inherits": "windows-base", "displayName": "Windows Development", "description": "Development build with ROM tests", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_ENABLE_ROM_TESTS": "ON", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "win-ai", "inherits": "windows-base", "displayName": "Windows AI Development", "description": "Full development build with AI features and gRPC", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_ENABLE_ROM_TESTS": "ON", "YAZE_BUILD_AGENT_UI": "ON", "YAZE_ENABLE_REMOTE_AUTOMATION": "ON", "YAZE_ENABLE_AI_RUNTIME": "ON" } }, { "name": "win-z3ed", "inherits": "windows-base", "displayName": "Windows z3ed CLI", "description": "z3ed CLI with AI agent support", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "YAZE_BUILD_TESTS": "OFF", "YAZE_BUILD_CLI": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "ON", "YAZE_ENABLE_AI_RUNTIME": "ON" } }, { "name": "win-arm", "inherits": "windows-base", "displayName": "Windows ARM64 Debug", "description": "Debug build for Windows ARM64", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" }, "architecture": { "value": "ARM64", "strategy": "external" } }, { "name": "win-arm-rel", "inherits": "win-arm", "displayName": "Windows ARM64 Release", "description": "Release build for Windows ARM64", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "YAZE_BUILD_TESTS": "OFF", "YAZE_ENABLE_LTO": "ON", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "win-vs-dbg", "inherits": "windows-vs-base", "displayName": "Windows Debug (Visual Studio)", "description": "Debug build for Visual Studio IDE", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "win-vs-rel", "inherits": "windows-vs-base", "displayName": "Windows Release (Visual Studio)", "description": "Release build for Visual Studio IDE", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "YAZE_BUILD_TESTS": "OFF", "YAZE_ENABLE_GRPC": "OFF", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "OFF", "YAZE_ENABLE_LTO": "ON", "YAZE_BUILD_AGENT_UI": "OFF", "YAZE_ENABLE_REMOTE_AUTOMATION": "OFF", "YAZE_ENABLE_AI_RUNTIME": "OFF" } }, { "name": "win-vs-ai", "inherits": "windows-vs-base", "displayName": "Windows AI Development (Visual Studio)", "description": "Full development build with AI features for Visual Studio", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "YAZE_BUILD_TESTS": "ON", "YAZE_ENABLE_GRPC": "ON", "YAZE_ENABLE_JSON": "ON", "YAZE_ENABLE_AI": "ON", "YAZE_ENABLE_ROM_TESTS": "ON", "YAZE_BUILD_AGENT_UI": "ON", "YAZE_ENABLE_REMOTE_AUTOMATION": "ON", "YAZE_ENABLE_AI_RUNTIME": "ON" } } ], "buildPresets": [ { "name": "dev", "configurePreset": "dev", "displayName": "Developer Build", "jobs": 12 }, { "name": "ci", "configurePreset": "ci", "displayName": "CI Build", "jobs": 12 }, { "name": "release", "configurePreset": "release", "displayName": "Release Build", "jobs": 12 }, { "name": "minimal", "configurePreset": "minimal", "displayName": "Minimal Build", "jobs": 12 }, { "name": "ci-linux", "configurePreset": "ci-linux", "displayName": "CI Build - Linux", "jobs": 12 }, { "name": "ci-macos", "configurePreset": "ci-macos", "displayName": "CI Build - macOS", "jobs": 12 }, { "name": "ci-windows", "configurePreset": "ci-windows", "displayName": "CI Build - Windows", "configuration": "RelWithDebInfo", "jobs": 12 }, { "name": "ci-windows-ai", "configurePreset": "ci-windows-ai", "displayName": "CI Build - Windows (AI)", "configuration": "RelWithDebInfo", "jobs": 12 }, { "name": "coverage", "configurePreset": "coverage", "displayName": "Coverage Build", "jobs": 12 }, { "name": "sanitizer", "configurePreset": "sanitizer", "displayName": "Sanitizer Build", "jobs": 12 }, { "name": "verbose", "configurePreset": "verbose", "displayName": "Verbose Build", "jobs": 12 }, { "name": "win-dbg", "configurePreset": "win-dbg", "displayName": "Windows Debug Build", "configuration": "Debug", "jobs": 12 }, { "name": "win-dbg-v", "configurePreset": "win-dbg-v", "displayName": "Windows Debug Verbose Build", "configuration": "Debug", "jobs": 12 }, { "name": "win-rel", "configurePreset": "win-rel", "displayName": "Windows Release Build", "configuration": "Release", "jobs": 12 }, { "name": "win-dev", "configurePreset": "win-dev", "displayName": "Windows Development Build", "configuration": "Debug", "jobs": 12 }, { "name": "win-ai", "configurePreset": "win-ai", "displayName": "Windows AI Development Build", "configuration": "Debug", "jobs": 12 }, { "name": "win-z3ed", "configurePreset": "win-z3ed", "displayName": "Windows z3ed CLI Build", "configuration": "Release", "jobs": 12 }, { "name": "win-arm", "configurePreset": "win-arm", "displayName": "Windows ARM64 Debug Build", "configuration": "Debug", "jobs": 12 }, { "name": "win-arm-rel", "configurePreset": "win-arm-rel", "displayName": "Windows ARM64 Release Build", "configuration": "Release", "jobs": 12 }, { "name": "win-vs-dbg", "configurePreset": "win-vs-dbg", "displayName": "Windows Debug Build (Visual Studio)", "configuration": "Debug", "jobs": 12 }, { "name": "win-vs-rel", "configurePreset": "win-vs-rel", "displayName": "Windows Release Build (Visual Studio)", "configuration": "Release", "jobs": 12 }, { "name": "win-vs-ai", "configurePreset": "win-vs-ai", "displayName": "Windows AI Development Build (Visual Studio)", "configuration": "Debug", "jobs": 12 } ], "testPresets": [ { "name": "all", "configurePreset": "dev", "displayName": "All Tests", "description": "Run all tests including ROM-dependent tests" }, { "name": "stable", "configurePreset": "minimal", "displayName": "Stable Tests", "description": "Run stable tests only (no ROM dependency)", "filter": { "include": { "label": "stable" } } }, { "name": "unit", "configurePreset": "minimal", "displayName": "Unit Tests", "description": "Run unit tests only", "filter": { "include": { "label": "unit" } } }, { "name": "integration", "configurePreset": "minimal", "displayName": "Integration Tests", "description": "Run integration tests only", "filter": { "include": { "label": "integration" } } }, { "name": "stable-ai", "configurePreset": "ci-windows-ai", "displayName": "Stable Tests (Agent Stack)", "description": "Run stable tests against the ci-windows-ai preset", "filter": { "include": { "label": "stable" } } }, { "name": "unit-ai", "configurePreset": "ci-windows-ai", "displayName": "Unit Tests (Agent Stack)", "description": "Run unit tests against the ci-windows-ai preset", "filter": { "include": { "label": "unit" } } }, { "name": "integration-ai", "configurePreset": "ci-windows-ai", "displayName": "Integration Tests (Agent Stack)", "description": "Run integration tests against the ci-windows-ai preset", "filter": { "include": { "label": "integration" } } } ], "packagePresets": [ { "name": "release", "configurePreset": "release", "displayName": "Release Package" }, { "name": "minimal", "configurePreset": "minimal", "displayName": "Minimal Package" } ] }