我有一个依赖于另一个CMake项目(集成商)的CMake项目(myapp)。积分器项目通过ExternalProject_Add声明,我使用GIT_TAG参数指示要构建的积分器代码的版本。这在网上很有用。但是,如果我离线,我会遇到构建失败问题。如果它无法到达git repo,它总是会失败,即使它之前已经下载了repo的副本。我可以让CMake停止接触GIT_TAG回购,并使用我上次上线时先前下载的代码构建吗?
答案 0 :(得分:1)
根据ExternalProject的文档,有一个名为UPDATE_DISCONNECTED
的选项。
如果设置了
UPDATE_DISCONNECTED
,则不执行更新步骤 构建主目标时自动生成。更新步骤仍然可以 被添加为步骤目标并手动调用。如果你这很有用 想要在断开连接时允许构建项目 网络(您可能仍需要网络进行下载步骤)。这个 默认情况下已禁用。
因此,您应该添加选项设置
UPDATE_DISCONNECTED 1
到您的ExternalProject_Add
声明,以便能够脱机工作。