如何处理来自不同开发环境的提交?

时间:2013-12-04 20:48:17

标签: c++ git cmake cross-platform project

我决定将我的Visual Studio项目转换为CMake,以便在多个平台上进行开发。但我想知道如何有效地将版本化应用于CMake项目。

说,从CMake项目我在Windows上生成了一个Visual Studio项目,并在Linux上设置了一个make文件。我不想在提交中包含那些特定于平台的文件。最佳做法是使用.gitignore排除所有这些文件吗?

这是我首先想到的,我想知道这是否正确。例如,我还可以在我的存储库中包含所有不同平台的项目。

1 个答案:

答案 0 :(得分:4)

是的,如果您使用CMake作为基础项目文件,请务必不要将生成的文件添加到存储库。它们作为共享的东西实际上是无用的,而且往往是非常特定于计算机的。

正如评论中所述(@Peter,我为了更好的可见性而无耻地复制),在源树之外构建(与Visual Studio的默认行为不同)通常是个好主意。基本上,你(从源目录)

cd ..
mkdir project-build && cd project-build
cmake ../project

您可以告诉CMake使用具有-G命令行选项的特定“生成器”。检查其帮助输出以获取详细信息您也可以通过CMake的GUI进行此操作。