我知道CMake使项目能够在各种编译器/IDE环境中轻松构建。我自己也经历过这种情况,当CMake从一些开源项目中为我制作了一个可工作、可构建的Xcode项目时,我感到很惊讶(很酷!)
但我不明白的是,在对CMake为您创建的项目进行重大更改后,如何正确更新CMake系统。
例如,我设想了一个工作流,其中项目应该通过CMake保持可移植性。因此,我创建了一个github项目的克隆,使用CMake创建我的XCode项目,然后开始实现一些新功能或错误修复。也许这些更改不是微不足道的,并且会影响构建。
在这些更改完成后,我想将代码库推回到github。现在发生了什么?所有的CMake文件都必须手动更新以反映我所做的所有工作吗?或者,是否有一些同样神奇的功能可以用XCode(或Visual Studio,或其他受支持的IDE/编译器组合)中实现的更改来更新CMake文件?
CMake的一般"往返"工作流程是什么?它的效率有多高?
重点是通过更改CMake配置文件本身来更改项目。你可能会发现其他一些管理cmake项目的工具,这些工具会对你的cmake文件进行更改。在您提到的示例中,您必须检查XCode是否正在修改您的cmake文件。
你必须对你的cmake文件进行所有必要的修改,每次接触cmake项目文件时,你的构建程序(make、ninja或任何其他)都会运行cmake。
高级提示:如果您使用带有globbing指令的命令file
来获取源文件的列表,您可能有兴趣阅读Getting cmake to run beforebuilding after pulling from git