如果CMake构建无法达到依赖性回购,则会失败

时间:2016-03-28 01:32:36

标签: cmake dependencies git-tag

我有一个依赖于另一个CMake项目(集成商)的CMake项目(myapp)。积分器项目通过ExternalProject_Add声明,我使用GIT_TAG参数指示要构建的积分器代码的版本。这在网上很有用。但是,如果我离线,我会遇到构建失败问题。如果它无法到达git repo,它总是会失败,即使它之前已经下载了repo的副本。我可以让CMake停止接触GIT_TAG回购,并使用我上次上线时先前下载的代码构建吗?

1 个答案:

答案 0 :(得分:1)

根据ExternalProject的文档,有一个名为UPDATE_DISCONNECTED的选项。

  

如果设置了UPDATE_DISCONNECTED,则不执行更新步骤   构建主目标时自动生成。更新步骤仍然可以   被添加为步骤目标并手动调用。如果你这很有用   想要在断开连接时允许构建项目   网络(您可能仍需要网络进行下载步骤)。这个   默认情况下已禁用。

因此,您应该添加选项设置

UPDATE_DISCONNECTED 1

到您的ExternalProject_Add声明,以便能够脱机工作。