下载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 ""

)

  1. 使用GIT_REPOSITORY选项,ExternalProject_Add()允许httphttps协议下载外部项目。
  2. 使用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_REPOSITORYinsted URL选项。

#URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gz

GIT_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

回到顶部