是否可以在Visual Studio中将文件添加到CMake生成的解决方案文件夹?

Kni*_*chi 6 c++ cmake visual-studio

这个问题或多或少是这个问题的热身:

如何让cmake将文件添加到msvcs解决方案树

它从来没有得到有效的答案,所以我想稍微改变它:

是否可以使用cmake 2.8.3引入的cmake解决方案文件夹将文件直接添加到vs解决方案?我想做相当于VS-> Solution-> Add-> Existing Item的cmake.因此,我的文件将出现在属于解决方案的文件夹中,而不是项目中.

我找到了一些示例,如何使用解决方案文件夹将目标分组到文件夹中,代码如下:

set_property( GLOBAL PROPERTY USE_FOLDERS ON)
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "Test") 
Run Code Online (Sandbox Code Playgroud)

那么我可以在文件夹中添加文件而不是目标吗?

Com*_*sMS 6

这可能是不可能的.

CMake将其资产组织成项目目标.该项目与Visual Studio的解决方案文件相对应,而每个目标将在相应的解决方案中生成Visual Studio项目.

现在问题是CMake不允许向CMake项目添加文件.实际上,CMake项目只不过是一组目标,几乎不提供任何自定义选项.因此,USE_FOLDERS您提到的选项只能用于对解决方案中的VS项目进行分组,而不能用于单个文件.

最接近你要求的可能是添加一个保存文件的自定义目标.但是,这仍然会在解决方案中生成一个VS项目(除了文件之外还包含许多其他内容)而不是普通文件夹.