网站首页 > 博客文章 正文
CMake可以使用presets来预设配置。根据CMake命令的不同类型,presets分为configure, build, test, package,新版的CMake,增加了workflow preset用来将以后的preset顺序执行。
首先我们可以创建一个简单的CMake项目。
只有一个CMakeLists.txt文件和一个main.cpp文件。
接着我们就可以创建presets配置文件CMakePresets.json。
首先我们先创建一个configure preset。
{
"version": 6,
"configurePresets": [
{
"name": "default",
"displayName": "Default Config",
"description": "Default Config Preset",
"binaryDir": "${sourceDir}/build"
}
]
}
接着我们就可以使用cmake命令来列出我们创建的configure preset了。
cmake --list-presets
这个configure preset就可以使用了。里面没有具体的配置,只是把CMake的输出目录配置了一下。
运行
cmake --preset default
configure preset定义完之后,我们需要定义build preset。 这里需要添加configurePreset字段,用于关联对应的configure preset。
"buildPresets": [
{
"name": "default",
"displayName": "Default Build",
"description": "Default Build Preset",
"configurePreset": "default"
}
]
定义完之后,我们就可以使用命令查看这个build preset的信息了。
cmake --list-presets=build
然后就能运行这个build preset了。
cmake --build --preset default
这样我们就有了configure/build两个preset,用于覆盖原来命令行的config/build操作。当然preset的本意,是希望你把复杂的参数放在配置里面,这里只是试验功能,没有额外添加其他参数。
有了这两个preset,我们可以看看定义workflow preset,用于合并两步操作。
定义default workflow preset, 先进行configure,然后build。
"workflowPresets": [
{
"name": "default",
"steps": [
{
"type": "configure",
"name": "default"
},
{
"type": "build",
"name": "default"
}
]
}
]
steps里面的name字段就是相应configure preset和build preset里面的name字段。
这里好像我的VSCode CMake插件还不能正确识别workflowPresets。
接着就可以列出这个workflow preset了。
cmake --workflow --list-presets
最后就可以直接运行这个workflow preset了,他会一次运行之前定义的configure preset和build preset。
cmake --workflow --preset=default
如果需要更新CMake Cache,可以添加fresh参数。
cmake --workflow --preset=default --fresh
随着CMake这两年的快速发展,presets功能也是基本完善了。方便了配置和调用CMake的方式。workflow preset也是把原来需要多条命令的执行,合并成了一套。
猜你喜欢
- 2024-10-03 Qt4/5升级到Qt6吐血经验总结V202308
- 2024-10-03 微软兑现承诺:更新Linux子系统,编译WSL 2内核只需3步
- 2024-10-03 centos7使用源码从python2升级到python3,干货值得收藏
- 2024-10-03 Clion2021大版本更新亮点一览(clion2020.1)
- 2024-10-03 CPack 入门指南(cpaks)
- 2024-10-03 C/C++ 开发工具 CLion 新版发布,10 大新功能抢先看
- 2024-10-03 centos7升级glibc(centos7升级gcc)
- 2024-10-03 ReactOS年度报告:改进shell,增强应用管理
- 2024-10-03 CMake构建Makefile深度解析:从底层原理到复杂项目
- 2024-10-03 CBrother升级至V2.5.5,支持编译和打包
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)