我刚刚将CMake从2.8版本升级到了3.2版本。
在CMake 2.8中,它的工作方式像一个魅力,但是,升级后,它失败了。
我正在尝试使用ExternalProject_Add()CMake函数构建第三方库。
ExternalProject_Add()
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
http
https
URL
问题:
有什么办法可以使用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下载并成功构建。
luacov
对于任何https协议,请使用功能DOWNLOAD_COMMAND选项ExternalProject_Add()。
DOWNLOAD_COMMAND
DOWNLOAD_COMMAND wget https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
并按预期工作。
谢谢。