如何使用commnd line(CMake)跳过某些目标
我对Xerces-c++有依赖性,对于如何使用commnd line(CMake)跳过某些目标,cmake,xerces-c,Cmake,Xerces C,我对Xerces-c++有依赖性,对于instaltarget,它总是构建示例可执行文件和文档。这将消耗约50%的构建时间(在我的构建VM上为6分钟) 我当前的构建命令是cmake--build${proj}\build${platform}--config RelWithDebInfo--target install--parallel 如何跳过非必要目标 这是第三方依赖关系,因此我不想根据源代码修改CMakeLists.txt,因为没有控制示例生成的选项 add_subdirectory(s
instal
target,它总是构建示例可执行文件和文档。这将消耗约50%的构建时间(在我的构建VM上为6分钟)
我当前的构建命令是cmake--build${proj}\build${platform}--config RelWithDebInfo--target install--parallel
如何跳过非必要目标
这是第三方依赖关系,因此我不想根据源代码修改
CMakeLists.txt
,因为没有控制示例生成的选项
add_subdirectory(samples)
参考:
但是你可以修补它
option(BUILD_SAMPLES "Build samples" ON)
message(STATUS "Build samples: ${BUILD_SAMPLES}")
...
if(BUILD_SAMPLES)
add_subdirectory(samples)
endif()
注意:如果您有一个超级版本,您也可以启用CMP0077…Xerces-c++似乎不允许您跳过版本测试。您所能做的最好是为库提供修复程序。按照最佳实践,这将在
if(BUILD\u TESTING)
@havogt中包装对add\u子目录(tests)
的调用。是否还有其他目标可用?如何找到可用的目标?顺便说一句,它是samples
,而不是tests
。当使用Makefile
生成器时,您可以调用makehelp
列出所有可用的目标。@arrowd我正在使用Visual studio生成器。没有帮助目标。然后可以在解决方案资源管理器窗口中查看目标列表-解决方案下的每个项目都对应一个目标。