Files
MaaAssistantArknights/CMakePresets.json
soundofautumn 3652fc4bea build: Adopt CMake presets for CI and add clangd/VSCode integration (#15595)
* feat: clangd support

* feat: 完善CMakePresets

* docs: 更新cmake命令

* fix: smoke test run

* docs: 更新vscode开发文档

* feat: 添加执行MaaWpf到cmake中

* feat: 支持全部的presets

* chore: 重新安排顺序

* chore: add some comment

* chore: add more comments

* feat: 简化res-update-game

* chore: 移除多余build

* chore: 统一x64和arm64

* chore: 修正重复忽略.vscode

* feat: vscode cmaketool乱码

* docs: 添加提示
2026-02-06 23:05:41 +08:00

349 lines
12 KiB
JSON

{
"version": 10,
"cmakeMinimumRequired": {
"major": 3,
"minor": 23,
"patch": 0
},
"configurePresets": [
{
"name": "windows-base",
"hidden": true,
"generator": "Visual Studio 18 2026",
"binaryDir": "${sourceDir}/build",
"$comment": [
"Base for Windows presets; Visual Studio is multi-config (Debug/Release/RelWithDebInfo in same build dir)",
"see https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2018%202026.html"
],
"cacheVariables": {
"BUILD_WPF_GUI": "ON",
"BUILD_DEBUG_DEMO": "ON",
"INSTALL_RESOURCE": "OFF",
"INSTALL_PYTHON": "OFF"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Windows"
}
},
{
"name": "linux-base",
"hidden": true,
"generator": "Ninja Multi-Config",
"binaryDir": "${sourceDir}/build",
"$comment": [
"Base for Linux presets; Ninja is multi-config (Debug/Release/RelWithDebInfo in same build dir)",
"see https://cmake.org/cmake/help/latest/generator/Ninja%20Multi-Config.html",
"clangd uses compile_commands.json to provide code completion and navigation",
"so CMAKE_EXPORT_COMPILE_COMMANDS is set to ON",
"see https://clangd.llvm.org/installation.html"
],
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Linux"
}
},
{
"name": "macos-base",
"hidden": true,
"generator": "Ninja Multi-Config",
"binaryDir": "${sourceDir}/build",
"$comment": [
"Base for macOS presets; Ninja is multi-config (Debug/Release/RelWithDebInfo in same build dir)",
"see https://cmake.org/cmake/help/latest/generator/Ninja%20Multi-Config.html",
"clangd uses compile_commands.json to provide code completion and navigation",
"so CMAKE_EXPORT_COMPILE_COMMANDS is set to ON",
"see https://clangd.llvm.org/installation.html"
],
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},
"condition": {
"type": "equals",
"lhs": "${hostSystemName}",
"rhs": "Darwin"
}
},
{
"name": "windows-x64",
"inherits": "windows-base",
"displayName": "Windows x64",
"architecture": "x64",
"cacheVariables": {
"MAADEPS_TRIPLET": "maa-x64-windows"
}
},
{
"name": "windows-arm64",
"inherits": "windows-base",
"displayName": "Windows arm64",
"architecture": "ARM64",
"cacheVariables": {
"MAADEPS_TRIPLET": "maa-arm64-windows"
}
},
{
"name": "linux-x64",
"inherits": "linux-base",
"displayName": "Linux x64",
"toolchainFile": "src/MaaUtils/MaaDeps/cmake/maa-x64-linux-toolchain.cmake",
"cacheVariables": {
"MAADEPS_TRIPLET": "maa-x64-linux"
}
},
{
"name": "linux-arm64",
"inherits": "linux-base",
"displayName": "Linux arm64",
"toolchainFile": "src/MaaUtils/MaaDeps/cmake/maa-arm64-linux-toolchain.cmake",
"cacheVariables": {
"MAADEPS_TRIPLET": "maa-arm64-linux"
}
},
{
"name": "macos-arm64",
"inherits": "macos-base",
"displayName": "macOS arm64",
"cacheVariables": {
"CMAKE_OSX_ARCHITECTURES": "arm64"
}
},
{
"name": "macos-x64",
"inherits": "macos-base",
"displayName": "macOS x64",
"cacheVariables": {
"CMAKE_OSX_ARCHITECTURES": "x86_64"
}
},
{
"name": "publish-base",
"$comment":[
"All the name contains 'publish' are used for github actions",
"see .github/workflows/ci.yml"
],
"hidden": true,
"installDir": "install",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"INSTALL_RESOURCE": "ON",
"INSTALL_PYTHON": "ON",
"BUILD_WPF_GUI": "OFF",
"BUILD_DEBUG_DEMO": "OFF"
}
},
{
"name": "windows-publish-x64",
"inherits": ["publish-base", "windows-x64"],
"$comment": [
"github actions only support Visual Studio 17 2022",
"see https://github.com/actions/runner-images/issues/13291"
],
"generator": "Visual Studio 17 2022",
"displayName": "Windows x64 Publish"
},
{
"name": "windows-publish-arm64",
"inherits": ["publish-base", "windows-arm64"],
"$comment": [
"github actions only support Visual Studio 17 2022",
"see https://github.com/actions/runner-images/issues/13291"
],
"generator": "Visual Studio 17 2022",
"displayName": "Windows arm64 Publish"
},
{
"name": "linux-publish-x64",
"inherits": ["publish-base", "linux-x64"],
"displayName": "Linux x64 Publish"
},
{
"name": "linux-publish-arm64",
"inherits": ["publish-base", "linux-arm64"],
"displayName": "Linux arm64 Publish"
},
{
"name": "macos-publish-x64",
"inherits": ["publish-base", "macos-x64"],
"displayName": "macOS x64 Publish"
},
{
"name": "macos-publish-arm64",
"inherits": ["publish-base", "macos-arm64"],
"displayName": "macOS arm64 Publish"
},
{
"name": "smoke-test",
"$comment":[
"this preset is used for smoke testing",
"see .github/workflows/smoke-testing.yml"
],
"inherits": "macos-arm64",
"displayName": "macOS arm64 Smoke Test",
"installDir": "install",
"cacheVariables": {
"BUILD_SMOKE_TEST": "ON",
"INSTALL_RESOURCE": "ON",
"WITH_HASH_VERSION": "ON"
}
}
],
"buildPresets": [
{
"name": "windows-x64-Debug",
"displayName": "Build Windows x64 Debug",
"configurePreset": "windows-x64",
"configuration": "Debug"
},
{
"name": "windows-x64-Release",
"displayName": "Build Windows x64 Release",
"configurePreset": "windows-x64",
"configuration": "Release"
},
{
"name": "windows-x64-RelWithDebInfo",
"displayName": "Build Windows x64 RelWithDebInfo",
"configurePreset": "windows-x64",
"configuration": "RelWithDebInfo"
},
{
"name": "windows-arm64-Debug",
"displayName": "Build Windows arm64 Debug",
"configurePreset": "windows-arm64",
"configuration": "Debug"
},
{
"name": "windows-arm64-Release",
"displayName": "Build Windows arm64 Release",
"configurePreset": "windows-arm64",
"configuration": "Release"
},
{
"name": "windows-arm64-RelWithDebInfo",
"displayName": "Build Windows arm64 RelWithDebInfo",
"configurePreset": "windows-arm64",
"configuration": "RelWithDebInfo"
},
{
"name": "linux-x64-Debug",
"displayName": "Build Linux x64 Debug",
"configurePreset": "linux-x64",
"configuration": "Debug"
},
{
"name": "linux-x64-Release",
"displayName": "Build Linux x64 Release",
"configurePreset": "linux-x64",
"configuration": "Release"
},
{
"name": "linux-x64-RelWithDebInfo",
"displayName": "Build Linux x64 RelWithDebInfo",
"configurePreset": "linux-x64",
"configuration": "RelWithDebInfo"
},
{
"name": "linux-arm64-Debug",
"displayName": "Build Linux arm64 Debug",
"configurePreset": "linux-arm64",
"configuration": "Debug"
},
{
"name": "linux-arm64-Release",
"displayName": "Build Linux arm64 Release",
"configurePreset": "linux-arm64",
"configuration": "Release"
},
{
"name": "linux-arm64-RelWithDebInfo",
"displayName": "Build Linux arm64 RelWithDebInfo",
"configurePreset": "linux-arm64",
"configuration": "RelWithDebInfo"
},
{
"name": "macos-x64-Debug",
"displayName": "Build macOS x64 Debug",
"configurePreset": "macos-x64",
"configuration": "Debug"
},
{
"name": "macos-x64-Release",
"displayName": "Build macOS x64 Release",
"configurePreset": "macos-x64",
"configuration": "Release"
},
{
"name": "macos-x64-RelWithDebInfo",
"displayName": "Build macOS x64 RelWithDebInfo",
"configurePreset": "macos-x64",
"configuration": "RelWithDebInfo"
},
{
"name": "macos-arm64-Debug",
"displayName": "Build macOS arm64 Debug",
"configurePreset": "macos-arm64",
"configuration": "Debug"
},
{
"name": "macos-arm64-Release",
"displayName": "Build macOS arm64 Release",
"configurePreset": "macos-arm64",
"configuration": "Release"
},
{
"name": "macos-arm64-RelWithDebInfo",
"displayName": "Build macOS arm64 RelWithDebInfo",
"configurePreset": "macos-arm64",
"configuration": "RelWithDebInfo"
},
{
"name": "windows-publish-x64",
"displayName": "Build Windows x64 Publish",
"configurePreset": "windows-publish-x64",
"configuration": "RelWithDebInfo"
},
{
"name": "windows-publish-arm64",
"displayName": "Build Windows arm64 Publish",
"configurePreset": "windows-publish-arm64",
"configuration": "RelWithDebInfo"
},
{
"name": "linux-publish-x64",
"displayName": "Build Linux x64 Publish",
"configurePreset": "linux-publish-x64",
"configuration": "RelWithDebInfo"
},
{
"name": "linux-publish-arm64",
"displayName": "Build Linux arm64 Publish",
"configurePreset": "linux-publish-arm64",
"configuration": "RelWithDebInfo"
},
{
"name": "macos-publish-x64",
"displayName": "Build macOS x64 Publish",
"configurePreset": "macos-publish-x64",
"configuration": "RelWithDebInfo"
},
{
"name": "macos-publish-arm64",
"displayName": "Build macOS arm64 Publish",
"configurePreset": "macos-publish-arm64",
"configuration": "RelWithDebInfo"
},
{
"name": "smoke-test",
"displayName": "Build macOS arm64 Smoke Test",
"configurePreset": "smoke-test",
"configuration": "Debug"
}
]
}