如何使用命令行 (CMake) 跳过一些目标

How to skip some targets using commnd line (CMake)

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

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

如何跳过非必要目标?

是第三方依赖,不想修改CMakeLists.txt

根据来源,没有选项可以控制示例的构建

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...