Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake外部项目修复版本重复下载_Cmake - Fatal编程技术网

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

CMake外部项目修复版本重复下载,cmake,Cmake,我使用的是CMake的外部项目支持,与中提出的非常类似 显然,我的构建最终取决于下载步骤,因此只有在可能的情况下才能工作,即我需要互联网连接。但是,如果我使用固定的修订来下载not HEAD,并且已经构建了一次外部项目,我不确定为什么每次都会执行此下载步骤 虽然没有实际的文件被下载,也没有耗时的重建被触发,但当我不在线时,我的构建仍然失败。如果在没有互联网连接的情况下工作,例如在火车上,这是非常烦人的 有没有办法让我的构建完全跳过下载步骤,如果可以推断它是EP已经构建的不必要的固定修订版+库/

我使用的是CMake的外部项目支持,与中提出的非常类似

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

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

有没有办法让我的构建完全跳过下载步骤,如果可以推断它是EP已经构建的不必要的固定修订版+库/没有执行清理步骤?

在评论部分的建议会让你获得大部分的方法,但是运行make clean会让你回到依靠互联网进行构建的位置。建议将UPDATE_命令设置为ExternalProject_Add中的空字符串


为了避免这种情况,请将SET_DIRECTORY_properties CLEAN_NO_CUSTOM 1添加到CMakeLists.txt.in文件中,请按照的建议。这将确保“清除”不会删除外部项目的二进制文件。

您可以添加一个跳过检查的配置标志。或者您可以将其设置为推荐而非必需。您是否尝试将UPDATE_命令设置为ExternalProject_Add中的空字符串?