CMake外部项目修复版本重复下载

时间:2015-02-27 09:56:57

标签: cmake

我使用的是CMake的外部项目支持,与我们提出的非常相似 CMake + GoogleTest

显然,我的构建最终取决于下载步骤,因此只有在可能的情况下才能工作 - 即我需要互联网连接。但是,如果我使用固定的修改来下载(而不是HEAD)并且已经构建了一次外部项目,我不确定为什么每次都会执行此下载步骤。

虽然似乎没有下载任何实际文件并且没有触发耗时的重建,但是当我不在线时,我的构建仍然失败。在没有互联网连接的情况下工作时非常烦人,例如在火车上。

有没有办法让我的构建完全跳过下载步骤,如果它可以被推断为unnessary(固定版本+ lib已经构建EP /没有执行干净步骤)?

1 个答案:

答案 0 :(得分:0)

thiagowfx评论部分中的建议将帮助您完成大部分工作,但运行make clean会让您回到依靠互联网构建的位置。 (建议将UPDATE_COMMAND设置为ExternalProject_Add中的空字符串。)

为避免这种情况,请根据Ding-Yi Chenthis post建议,将SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM 1)添加到CMakeLists.txt.in文件中。这将确保make clean不会删除外部项目的二进制文件。