下载tar.gz软件包时不支持的协议 [英] Unsupported protocol while download tar.gz package
问题描述
我刚刚将我的CMake从2.8版本升级到了3.2。
I have just upgrade my CMake from version 2.8 to 3.2.
在CMake 2.8中,它的工作原理很吸引人,但升级后却失败了。
It's working like a charm in CMake 2.8 but, after the upgrade, it's failing.
我正在尝试使用 ExternalProject_Add()
CMake函数构建第三方库。
I'm trying to build third party library using ExternalProject_Add()
CMake function.
ExternalProject_Add(
luacov
URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
DOWNLOAD_DIR ${EXTERNAL_PROJECT_DOWNLOAD_DIR}
CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE}
SOURCE_DIR ${EXTERNAL_PROJECT_SRC_DIR}/luacov
BINARY_DIR ${EXTERNAL_PROJECT_BUILD_DIR}/luacov
UPDATE_COMMAND ""
PATCH_COMMAND ""
)
我的观察:
- 使用
GIT_REPOSITORY
选项,ExternalProject_Add()
允许http
和https
协议下载外部项目。 - 使用
URL
选项,ExternalPro ject_Add()
仅允许http
,但不允许https
协议下载外部项目。
- Using
GIT_REPOSITORY
option,ExternalProject_Add()
allowhttp
andhttps
protocol to download external project. - Using
URL
option,ExternalProject_Add()
only allowhttp
, but nothttps
protocol to download external project.
问题:
有什么办法吗?使用 https
协议下载和构建外部项目?
Is there any way to download and build external project using https
protocol?
错误:
[ 16%] Performing download step (download, verify and extract) for 'luacov'
-- downloading...
src='https://github.com/keplerproject/luacov/archive/v0.7.tar.gz'
dst='/home/build/my_build/external_projects/downloads/v0.7.tar.gz'
timeout='none'
CMake Error at /home/build/my_build/luacov-prefix/src/luacov-stamp/download-luacov.cmake:21 (message):
error: downloading
'https://github.com/keplerproject/luacov/archive/v0.7.tar.gz' failed
status_code: 1
status_string: "Unsupported protocol"
log: Protocol "https" not supported or disabled in libcurl
Closing connection -1
make[3]: *** [luacov-prefix/src/luacov-stamp/luacov-download] Error 1
make[2]: *** [CMakeFiles/luacov.dir/all] Error 2
make[1]: *** [CMakeFiles/luacov.dir/rule] Error 2
make: *** [luacov] Error 2
推荐答案
在我的 ExternalProject_Add()
,我已经使用 GIT_REPOSITORY
插入了 URL
选项。
In my ExternalProject_Add()
, I have use GIT_REPOSITORY
insted of URL
option.
#URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
GIT_REPOSITORY https://github.com/keplerproject/luacov.git
和 luacov
下载并成功构建。
对于任何 https
协议,请使用
选项。 ExternalProject_Add()
函数的> DOWNLOAD_COMMAND
For any https
protocol use DOWNLOAD_COMMAND
option of ExternalProject_Add()
function.
DOWNLOAD_COMMAND wget https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
及其预期效果。
谢谢。
这篇关于下载tar.gz软件包时不支持的协议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!