在cmake中使用现有的Visual Studio项目

17

我有一堆由cmake生成的项目,其中一个是在MSVS下创建的。我想每次重新运行cmake时都将其添加进去。现在我必须通过cmake生成解决方案,然后从MSVS GUI中添加现有项目到解决方案,但有点繁琐。

有没有自动化这个过程的方法?


可能是vcxproj to cmake的重复问题。 - Fraser
5
不是重复的问题,这个问题不同。 - ixSci
1个回答

27
我找到了一种方法:
只需在cmake文件中加入以下行:INCLUDE_EXTERNAL_MSPROJECT(<名称> <路径>) 我还有依赖于我的MS项目的依赖项,这些依赖项都是由CMake生成的项目,所以每次进行清理构建或更改我正在使用的机器时,我都需要重新添加依赖项。手动为CMake生成的项目设置GUID解决了这个问题: SET(${PROJECT_NAME}_GUID_CMAKE "<GUID>" CACHE INTERNAL "Project GUID") 现在我可以轻松地处理由CMake和“原生”MSVS项目生成的项目。

如果您不能或不想修改MakeLists.txt,也可以在命令行上指定:-D<project-name>_GUID_CMAKE:INTERNAL="<guid>"。CMake将在"手动指定的变量未被项目使用"列表中列出它,但这样也可以起作用。 - foraidt
它支持其他生成器吗? - Sergei Krivonos
@ Sergei,我不知道。 - ixSci
我尝试了这个,但似乎不起作用:安装给定目标“SomeProject.Packaging.androidproject”,它不是可执行文件、库或模块。include_external_msproject("SomeProject" "${CMAKE_CURRENT_LIST_DIR}/SomeProject.Packaging/" TYPE "{39E2626F-3545-4960-A6E8-258AD8476CE5}") - Sixjac

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接