mar*_*nov 5 cmake visual-studio
在CMake中使用VS解决方案文件夹时使用:
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_target_properties(MyProject PROPERTIES FOLDER "MyProjects")
Run Code Online (Sandbox Code Playgroud)
我也自动启用一个
CMakePredefinedTargets文件夹:
有没有办法避免这种行为?
重置PREDEFINED_TARGETS_FOLDER可以重命名文件夹但不能删除它.设置FOLDERINSTALL等属性似乎也没有效果.
谢谢.
编辑:在研究了 CMake 代码后,我很确定你可以设置PREDEFINED_TARGETS_FOLDER为"". 我已经使用 CMake 3.3.2 和 VS2015 对其进行了测试
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "")
Run Code Online (Sandbox Code Playgroud)
预定义目标再次位于根级别。
并且,是的,如果全局USE_FOLDERS属性那么ON预定义目标被硬连接为始终分组在PREDEFINED_TARGETS_FOLDER文件夹中。所以设置FOLDEReg的属性INSTALL没有帮助。
作为参考,请查看cmGlobalVisualStudioGenerator.cxx在何处明确针对目标停用此行为ALL_BUILD:
Run Code Online (Sandbox Code Playgroud)#if 0 // Can't activate this code because we want ALL_BUILD // selected as the default "startup project" when first // opened in Visual Studio... And if it's nested in a // folder, then that doesn't happen. // // Organize in the "predefined targets" folder: // if (this->UseFolderProperty()) { allBuild->SetProperty("FOLDER", this->GetPredefinedTargetsFolder()); } #endif
| 归档时间: |
|
| 查看次数: |
901 次 |
| 最近记录: |