cmake 构建预设可以运行配置吗

问题描述 投票:0回答:1

给出以下预设构造(不是完整的预设文件)

{
  "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 cmake-presets
1个回答
0
投票

cmake 构建预设可以运行配置吗

没有。

构建预设有哪些好处?

来自 https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html :

CMake 用户经常面临的一个问题是与其他人共享设置以获取配置项目的常用方法。这样做可能是为了支持 CI 构建,或者是为了经常使用相同构建的用户。 CMake 支持两个主要文件:CMakePresets.json 和 CMakeUserPresets.json,允许用户指定通用配置选项并与其他人共享。 CMake 还支持包含字段包含的文件。

© www.soinside.com 2019 - 2024. All rights reserved.