chore: add Windows build presets and configurations to CMake
- Introduced multiple new CMake presets for Windows, including base presets for Ninja and Visual Studio generators, as well as specific configurations for Debug, Release, and Development builds. - Added ARM64 support and various build options for AI development and z3ed CLI. - Enhanced the build system's flexibility by allowing users to select from a range of configurations tailored for different development needs. Benefits: - Streamlines the build process for Windows environments, improving usability for developers. - Provides comprehensive support for various build types and architectures, enhancing the overall development experience.
This commit is contained in:
@@ -20,6 +20,56 @@
|
||||
"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$<$<CONFIG:Debug>: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$<$<CONFIG:Debug>: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",
|
||||
@@ -109,6 +159,153 @@
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
@@ -153,6 +350,83 @@
|
||||
"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": [
|
||||
|
||||
Reference in New Issue
Block a user