cmake visual studio项目子集

时间:2011-06-29 13:39:00

标签: visual-studio cmake

对于visual studio生成器,可以告诉cmake生成一个仅包含项目子集的解决方案吗?目前,它生成一个包含所有项目(即带有cmake列表文件的子目录)的解决方案 - 这使得在处理项目子集时非常不方便。

1 个答案:

答案 0 :(得分:1)

据我所知,您无法明确告诉cmake在“Project.sln”旁边生成解决方案文件。

当然,使用Visual Studio 2010,解决方案文件语法相对简单,也许您可​​以自己生成它。

另一种方法和我在自己的项目中使用的方法是将项目分布在多个子目录上,并添加带项目定义的其他CMakeLists.txt。在这种情况下,Cmake将在子目录中生成额外的解决方案文件。

E.g。考虑一个包含应用程序和库的项目:

主要CMakeLists.txt:

project( Project )
add_subdirectory( libraries )
add_subdirectory( applications )

在图书馆:

project( Libs )
add_subdirectory( corelib )
add_subdirectory( utils )

在应用程序中:

project( Apps )
... # The normal stuff

结果将是一个Project.sln,并在Libs.sln和Apps.sln下面的目录中

添加了奖励:你可以只进入libraries目录并从那里运行CMake,因为它有自己的CMakeLists.txt。

警告:您需要为您的libs和应用程序设置各种CMakeLists.txt,以便他们可以找到这些库。