cmake - 在代理后面的 CMake 中获取依赖项
问题描述
我在 Win10 系统上的代理后面。我已将其设置为系统范围的代理和全局 git 代理(在发现我什至无法对内部网络之外的任何 repo 进行简单克隆之后)。所以 git 和任何依赖于操作系统代理设置的东西一样有效。但是现在我处于 CMake 试图获取一些外部依赖项(构建 VTK)的情况。这是输出:
P C:/Qt/Tools/CMake_64/share/cmake-3.19/Modules/ExternalData.cmake"
-- Fetching "https://data.kitware.com/api/v1/file/hashsum/SHA512/bafaaffbbf27e5908e709c8d6181ff5e277ed0efe1706aededef77da74ab96758594d2d2ee96e6edde184c1c0914d6c25f84772b5d14ce56057bd23c541a395b/download"
-- Fetching "https://www.vtk.org/files/ExternalData/SHA512/bafaaffbbf27e5908e709c8d6181ff5e277ed0efe1706aededef77da74ab96758594d2d2ee96e6edde184c1c0914d6c25f84772b5d14ce56057bd23c541a395b"
CMake Error at C:/Qt/Tools/CMake_64/share/cmake-3.19/Modules/ExternalData.cmake:1121 (message):
Object
SHA512=bafaaffbbf27e5908e709c8d6181ff5e277ed0efe1706aededef77da74ab96758594d2d2ee96e6edde184c1c0914d6c25f84772b5d14ce56057bd23c541a395b
not found at:
https://data.kitware.com/api/v1/file/hashsum/SHA512/bafaaffbbf27e5908e709c8d6181ff5e277ed0efe1706aededef77da74ab96758594d2d2ee96e6edde184c1c0914d6c25f84772b5d14ce56057bd23c541a395b/download ("Couldn't connect to server")
https://www.vtk.org/files/ExternalData/SHA512/bafaaffbbf27e5908e709c8d6181ff5e277ed0efe1706aededef77da74ab96758594d2d2ee96e6edde184c1c0914d6c25f84772b5d14ce56057bd23c541a395b ("Couldn't connect to server")
我正在通过 Qt Creator 运行 CMake。起初我认为这可能与 IDE 有关。然而,Qt Creator 没有代理设置(至少我找不到),因此它从系统方面的代理设置中获取代理设置。并且确实使用设置的更新部分中的“立即检查”按钮检查 IDE 的更新不会给出任何错误并说没有新版本(实际上是因为我刚刚使用官方安装程序下载了最新版本)。
有没有办法让 CMake 使用系统范围的代理设置?最好不要更改 CMake 配置文件。
更新:我把其中一个 URL(比如这个)粘贴到我的网络浏览器中。我可以下载文件。
解决方案
显然CMake 依赖于环境变量 HTTP_PROXY 和 HTTPS_PROXY。我习惯于在 Linux 上设置这些,但不知道这同样适用于 Windows。我所要做的就是将这两个(将来可能会从 CMake 调用 HTTP 和 HTTPS URL)添加到我的环境变量(用户特定就足够了)并且 CMake 能够下载所有外部依赖项。
推荐阅读
- python - 如何使用 BeautifulSoup 从 HTML div 标签文件中提取文本?
- algorithm - 如何删除展开树中的最小元素
- python - 使用 docker python SDk 创建多个容器失败
- oauth-2.0 - keycloak client_credentials 授权类型禁用 refresh_token 动态客户端注册
- r - 从数据框中获取多个值以进行复杂的 ggplot/dotplot
- reactjs - 从 useEffect 调用调度
- python - 在 python/ 中使用数据创建 HTTP 发布请求
- shared-libraries - 下载预建的 Cronet(Chromium 网络堆栈)库
- firebase - Firebase - 免费层中的 Firestore 集合组索引
- c++ - C++迷宫问题,如何去除重复?