给出以下预设构造(不是完整的预设文件)
{
"configurePresets": [
{
"name": "fooConfig",
"binaryDir": "${sourceParentDir}/build-foo"
}
],
"buildPresets": [
{
"name": "foo",
"configurePreset": "fooConfig",
"targets": "myapp"
}
]
}
当我尝试时我发现:
cmake --build --preset foo
它在原始系统上失败并出现错误
Error: C:/{..}/build-foo is not a directory
当我阅读构建预设时,我想象 cmake 可以通过这个命令方便地配置和构建,但我想我可能是错的?
相反,我必须显式地运行配置,然后指示构建,就像这样
cmake --preset fooConfig
cmake --build --preset foo
我想它隐藏了构建的实际位置,但这对我来说没什么好处。
那么构建预设有哪些好处?
在 cmake 论坛上提出了同样的问题,但回答者并没有真正理解OP在问什么。
cmake 构建预设可以运行配置吗
没有。
构建预设有哪些好处?
来自 https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html :
CMake 用户经常面临的一个问题是与其他人共享设置以获取配置项目的常用方法。这样做可能是为了支持 CI 构建,或者是为了经常使用相同构建的用户。 CMake 支持两个主要文件:CMakePresets.json 和 CMakeUserPresets.json,允许用户指定通用配置选项并与其他人共享。 CMake 还支持包含字段包含的文件。