You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取CMake构建预设与配置预设的关联关系?

获取CMake构建预设与配置预设的关联信息

目前CMake命令行没有直接提供过滤构建预设的有效方式(你提到的cmake --build --list-presets --preset=<configure_preset>功能确实未生效,属于已知的功能缺陷),但可以通过以下两种无需自行解析预设文件的方法获取关联信息:

方法1:使用cmake -E evaluate_presets(CMake 3.26+)

CMake 3.26及以上版本新增了evaluate_presets命令,可直接输出包含完整关联关系的结构化预设数据,且会自动处理所有预设文件(包括CMakePresets.json、CMakeUserPresets.json及include引入的文件)。

执行命令:

cmake -E evaluate_presets build

输出的JSON数据中,每个构建预设条目都会包含configurePreset字段,对应其关联的配置预设名称。你可以用jq等工具在脚本中提取所需信息,例如:

cmake -E evaluate_presets build | jq '.[] | {build_preset: .name, configure_preset: .configurePreset}'

方法2:使用--list-presets --json参数(CMake 3.20+)

如果你的CMake版本在3.20到3.25之间,可以通过--list-presets结合--json参数输出构建预设的JSON结构,其中同样包含关联的配置预设信息。

执行命令:

cmake --build --list-presets --json

同样可以用jq提取关联关系:

cmake --build --list-presets --json | jq '.[] | {build_preset: .name, configure_preset: .configurePreset}'

这两种方式都由CMake自身处理预设文件的解析逻辑,无需你手动处理复杂的include引用和多文件合并问题。

内容的提问来源于stack exchange,提问作者JVApen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 13:42:33