使用 CMake 的 ExternalProject_Add 克隆 git 存储库而不构建它

Use CMake's ExternalProject_Add to clone git repository without building it

我希望 CMake git 克隆 header 唯一的库而不构建它。 我试过了:

ExternalProject_Add(eigen
        GIT_REPOSITORY https://github.com/eigenteam/eigen-git-mirror.git
        CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_INSTALL_LOCATION}
        GIT_SHALLOW 1)

但这会构建外部项目。 如何 git 克隆而不构建?

根据documentation,您需要:

  1. CONFIGURE_COMMAND参数设置为空字符串(即"")以停止CMake配置(项目默认为CMake-base)
  2. BUILD_COMMAND 参数设置为空字符串以禁用构建步骤。
  3. INSTALL_COMMAND 参数设置为空字符串以强制安装步骤不执行任何操作。

但是,如果没有包含 Eigen 的复杂条件,即它始终是您项目的必需组件,您可能需要考虑使用 git submodules(这可能是更好的方法即使 Eigen 不是强制性要求)。