它永远没有有效的答案,所以我想将其稍微不同:
是否可以使用CMAKE解决方案文件夹,并使用CMAKE 2.8.3引入该文件夹将文件直接添加到VS解决方案中?我想执行相当于vs->解决方案 - > add->现有项目的cmake。因此,我的文件将出现在属于解决方案而不是项目的文件夹中。
i发现了如何使用解决方案文件夹将目标分组到具有这样的代码的文件夹中:
set_property( GLOBAL PROPERTY USE_FOLDERS ON)
set_property(TARGET ${TARGET_NAME} PROPERTY FOLDER "Test")
我可以在文件夹中添加文件而不是目标吗?
和targets
。该项目与Visual Studio的解决方案文件相对应,而每个目标将在各个解决方案内生成一个Visual Studio项目。现在问题是CMAKE不允许将文件添加到CMAKE项目。实际上,一个CMAKE项目不过是一个目标集合,几乎没有定制选项。因此,您提到的USE_FOLDERS
选项只能用于在解决方案中进行分组VS项目,而不是单个文件中的项目。
最接近您要求的是添加容纳您的文件的custom target。但是,这仍然会在解决方案内生成一个VS项目(除了文件以外,还包含其他内容)而不是普通文件夹。
如果我正确理解这个问题,我想我知道该怎么做:
set(FILES_TO_ADD
file1
file2
file3)
source_group("Group Name" FILES ${FILES_TO_ADD})
此答案只是添加了由Comicsansms在接受答案中提出的“自定义目标”解决方案的示例。这是我目前用来添加全局文件的用途。
即将推出的CMAKE版本4.0.0(当前可作为发行候选4.0.0-RC4),可以在VS中的解决方案中添加任意文件。这是通过新添加的vs_solution_items属性完成的,请参见以下内容:VS_SOLUTION_ITEMS这是一个目录属性,因此必须将其应用于与您的初始调用相同的目录。 usage示例: