我不需要ALL_BUILD子项目,我可以避免生成它吗?感谢名单。
答案 0 :(得分:3)
CMake Issue #16979: "ALL_BUILD target being generated":
ALL_BUILD
目标对应于CMake的“所有”目标概念,相当于使用makefile生成器。这与“构建解决方案”行为不同,原因在于VS IDE如何处理vcxproj之间的依赖关系。无法取消
ALL_BUILD
目标。它必须存在于cmake --build
之类的命令中。能够默认构建“所有”目标。
所以你无法避免它 - 就像@arrowd的答案一样 - 但是CMake中有些东西会影响它的使用/外观(在像Visual Studio这样的IDE生成器上):
激活全局USE_FOLDERS
属性
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
通用目标ALL_BUILD
,ZERO_CHECK
,INSTALL
,PACKAGE
和RUN_TESTS
将被归为CMakePredefinedTargets
文件夹(或任何名称)在全局PREDEFINED_TARGETS_FOLDER
属性中给出。
全局变量CMAKE_SKIP_INSTALL_ALL_DEPENDENCY
和CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY
会对INSTALL
或PACKAGE
ALL_BUILD
目标的ALL_BUILD
或<li class="nav-item"><li>
自动生成依赖关系。
全局VS_STARTUP_PROJECT
属性可用于将默认启动项目名称更改为a
或“不在子文件夹中的第一个项目”目标以外的其他名称。
<强>参考强>
答案 1 :(得分:2)
它对应于all
制作目标,因此,不,您无法避免生成它。但是,您可以手动将其从解决方案中删除。