CMake 往返工作流程

CMake Roundtrip Workflow

我了解 CMake 使项目能够在各种 compiler/IDE 环境中轻松构建。我亲身经历过这一点,当 CMake 从某个开源项目中为我生成一个可工作的、可构建的 Xcode 项目时,我感到很惊讶(酷!)

但我不明白的是,在对 CMake 为您创建的项目进行重大更改后,您如何正确更新 CMake 系统。

例如,我正在设想一个工作流,在该工作流中,项目应通过 CMake 保持可移植性。因此,我创建了一个 github 项目的克隆,使用 CMake 创建我的 XCode 项目,然后开始实施一些新功能或错误修复。也许这些更改是重要的并且会影响构建。

完成这些更改后,我想将代码库推回到 github。现在发生了什么?是否必须手动更新所有 CMake 文件以反映我所做的所有工作?或者是否有一些同样神奇的功能可以使用 XCode(或 Visual Studio,或其他支持的 IDE/compiler 组合)中实现的更改来更新 CMake 文件?

CMake 的一般 "Roundtrip" 工作流程是什么?它的效率如何?

重点是您可以通过更改 CMake 配置文件本身来更改您的项目。您可能会找到其他一些管理 cmake 项目的工具,这些工具将更改您的 cmake 文件。在您提到的示例中,您必须检查 XCode 是否正在修改您的 cmake 文件。

您必须提交对您的 cmake 文件所做的所有必要修改,并且您的构建程序(make、ninja 或任何其他)将 运行 cmake 每次 cmake 项目文件被感动了

高级注意:如果你使用命令 file with globbing instructions to get the list of your sources files, you might be interested to read Getting cmake to run before building after pulling from git