在 CMake 中使用 VS 解决方案文件夹时,使用:
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_target_properties(MyProject PROPERTIES FOLDER "MyProjects")
我还自动启用CMakePredefinedTargets
folder:
有没有办法避免这种行为?
重置PREDEFINED_TARGETS_FOLDER
可以重命名该文件夹,但不能删除它。设置FOLDER
INSTALL 等属性似乎也无效。
Thanks.
Edit:在研究了 CMake 代码后,我很确定你可以设置PREDEFINED_TARGETS_FOLDER
to ""
。我已经使用 CMake 3.3.2 和 VS2015 对其进行了测试
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "")
预定义目标再次位于根级别。
而且,是的,如果全球USE_FOLDERS https://cmake.org/cmake/help/v3.3/prop_gbl/USE_FOLDERS.html财产如果ON
那么预定义的目标被硬连线以始终分组在PREDEFINED_TARGETS_FOLDER https://cmake.org/cmake/help/v3.3/prop_gbl/PREDEFINED_TARGETS_FOLDER.html文件夹。所以设置FOLDER https://cmake.org/cmake/help/v3.3/prop_tgt/FOLDER.html例如的财产INSTALL
没有帮助。
作为参考参见cmGlobalVisualStudioGenerator.cxx https://github.com/Kitware/CMake/blob/master/Source/cmGlobalVisualStudioGenerator.cxx#L92明确禁用此行为的地方ALL_BUILD
target:
#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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)