首页 > 解决方案 > 如何使用命令行(CMake)跳过一些目标

问题描述

我依赖于 Xerces-c++ 并且对于instal目标它总是构建示例可执行文件和文档。这会消耗大约 50% 的构建时间(在我的构建 VM 上需要 6 分钟)。

我当前的构建命令是cmake --build ${proj}\build_${platform} --config RelWithDebInfo --target install --parallel.

如何跳过非必要目标?

它是第三方依赖,所以我不想修改CMakeLists.txt.

标签: cmakexerces-c

解决方案


根据消息来源,没有选项可以控制样本的构建

add_subdirectory(samples)

参考:https ://github.com/apache/xerces-c/blob/master/CMakeLists.txt#L172

但是你可以修补它!

option(BUILD_SAMPLES "Build samples" ON)
message(STATUS "Build samples: ${BUILD_SAMPLES}")
...
if(BUILD_SAMPLES)
  add_subdirectory(samples)
endif()

注意:如果你有超级版本,你也可以启用 CMP0077...


推荐阅读