在CMake中包含Visual Studio解决方案

斯巴比

我有一个大项目,分为两个部分:

  • 第1部分需要跨平台,我们使用CMake为此设置所有项目文件。

  • 第2部分仅适用于Windows。它在.SLN文件中配置,并且取决于第1部分。

我们使用cmake生成了Part1.sln,但是到了这一点,我们有两个不同的解决方案(Part1.sln和Part2.sln),并且不断地从一个切换到另一个很烦人。

显然,对于第2部分使用CMake并不是一种选择,因为大多数开发人员无法编辑cmake文件,并且希望直接从MSVC修改解决方案。

据我所知,不可能将一个Visual Studio解决方案“包含”在另一个解决方案中,但是我对此可能是错误的。

我们想生成一个包含第1部分和第2部分的单个.SLN文件,可能使用CMake本身或其他方法。

ComicSansMS

没错,您不能在另一个文件中包含完整的Visual Studio解决方案文件。

但是,您感兴趣的第1部分项目中的大多数信息可能都不在解决方案本身中,而在单个.vcxproj项目文件中。这些可以包含在您想要的许多解决方案中。

因为您说在第2部分项目上使用CMake是不可能的,所以您在这里不会得到完美的解决方案。有人需要在第1部分上运行CMake才能生成项目文件。不过,这可以通过第2部分项目中的自定义构建步骤来完成。然后,第2部分解决方案文件将包含对该CMake运行生成的项目的硬编码引用。

如果您在第1部分中更改项目结构,则必须相应地调整第2部分解决方案。如果第1部分中两个项目的项目间依赖关系发生更改,则这尤其令人讨厌。另外,如果您在加载解决方案之前忘记在第1部分上运行CMake,最终会遇到很多load failed项目,但这并不是什么大问题。只需运行CMake并在相应项目上执行右键单击->重新加载项目即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章