使用CMake生成Visual Studio C ++项目文件

我正在开发一个开源的C ++项目,用于在Linux和Windows上编译的代码。 我使用CMake在Linux上构建代码。 为了便于开发设置和政治原因,我必须坚持使用Windows上的Visual Studio项目文件/编辑器(例如,我无法切换到Code :: Blocks)。 我看到使用CMake生成Visual Studio文件的说明,如下所示。

你以前用过CMake生成Visual Studio文件吗? 你的经历如何? 假设我想将一个新文件添加到我的项目中。 这是什么工作流程?


CMake对此非常好。 关键的部分是Windows上的每个人都必须记住在加载解决方案之前运行CMake,并且我们Mac端的每个人都必须记得在制作之前运行它。

最难的部分是作为Windows开发人员确保您的结构更改在cmakelist.txt文件中,而不是在解决方案或项目文件中,因为这些更改可能会丢失,即使不会丢失也不会转移到Mac方也需要它们,Mac的人们需要记住不要因为相同的原因修改make文件。

它只需要一点思考和耐心,但是一开始就会有错误。 但是如果你在双方使用持续整合,那么它们会很早就被震撼,人们最终会养成这种习惯。


不知道它是否与问题直接相关,但我正在寻找如何从cmake项目生成* .sln的答案我发现可以使用类似这样的东西:

cmake -G "Visual Studio 10"

该示例从输入CMakeLists.txt文件生成所需的VS 2010文件


我们将部门的构建链转移到了CMake,并且自从其他部门使用我们的项目文件并习惯于将其导入他们的解决方案之后,我们就有了一些内部的路标。 我们也对CMake没有完全集成到Visual Studio项目/解决方案管理器有些抱怨,因此文件必须手动添加到CMakeLists.txt; 这是人们习惯的工作流程中的重大突破。

但总的来说,这是一个非常平稳的过渡。 我们非常高兴,因为我们不必处理项目文件了。

将新文件添加到项目的具体工作流程非常简单:

  • 创建该文件,确保它位于正确的位置。
  • 将文件添加到CMakeLists.txt。
  • 建立。
  • 如果任何CMakeLists.txt文件发生更改(和(半)自动重新加载解决方案/项目),CMake 2.6会自动重新运行。

    请记住,如果您正在执行源代码构建,则需要小心不要在构建目录中创建源文件(因为Visual Studio只知道构建目录)。

    链接地址: http://www.djcxy.com/p/58257.html

    上一篇: Using CMake to generate Visual Studio C++ project files

    下一篇: Xcode Build Phases: Headers vs Copy Files