下载tar.gz软件包时不支持的协议
我刚刚将CMake从2.8版本升级到了3.2版本。
在CMake 2.8中,它的工作方式像一个魅力,但是,升级后,它失败了。
我正在尝试使用ExternalProject_Add()
CMake函数构建第三方库。
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
选项,ExternalProject_Add()
仅允许http
,但不允许https
协议下载外部项目。
有什么办法可以使用https
协议下载和构建外部项目?
[ 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
insted URL
选项。
#URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gzGIT_REPOSITORY https://github.com/keplerproject/luacov.git
并luacov
下载并成功构建。
对于任何https
协议,请使用功能DOWNLOAD_COMMAND
选项ExternalProject_Add()
。
DOWNLOAD_COMMAND wget https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
并按预期工作。
谢谢。
以上是 下载tar.gz软件包时不支持的协议 的全部内容, 来源链接: utcz.com/qa/404697.html