CMake ExternalProject_Add代理设置

时间:2011-11-29 23:48:52

标签: proxy cmake

我已经非常成功地使用CMake使用ExternalProject_Add函数执行构建,但我的公司最近放入了一个代理服务器......这打破了上述构建脚本。

下载步骤在提取阶段失败,因为下载的tarball只是来自代理服务器的重定向请求(至少我认为这是它获取的微小tarball中包含的内容)。

我在CMake邮件列表上找到了这个post。我想也许如果它适用于file()命令它可能适用于ExternalProject_Add()命令。我设置了http_proxyHTTP_PROXY个环境变量,但仍然收到了相同的错误。我曾考虑用DOWNLOAD_COMMAND调用覆盖wget参数,因为此命令似乎与代理设置有关。但是,我想知道是否有更好的方法。

UPDATE 1:我检查了小tarball的内容,它确实包含HTML;但是,这是一个需要身份验证的通知。我不确定为什么要求身份验证,因为我没有输入wget的任何登录信息。

wget显示以下输出:

Resolving webproxy... 10.0.1.50 
Connecting to webproxy|10.0.1.50|:80... connected. 
Proxy request sent, awaiting response... 200 OK
Download begins here...

更新2 :我还注意到apt-getsvn都失败了这个新的代理设置,但git没有...... {{ 1}}抱怨“服务器发送了意外的返回值(307代理重定向)......”非常令人困惑......

谢谢!

1 个答案:

答案 0 :(得分:2)

您使用的是什么版本的CMake?该文件(DOWNLOAD命令使用版本2.8.2中的follow redirect标志启动,由以下提交引入:

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ef491f78218e255339278656bf6dc26073fef264

使用自定义DOWNLOAD_COMMAND无疑是一种合理的解决方法。