Merge topic 'ExternalProject-http-credentials'
9cbd04be
Help: Add notes for topic 'ExternalProject-http-credentials'e1ca1173
ExternalProject: Add HTTP_{USERNAME,PASSWORD}
This commit is contained in:
commit
3efb3c0012
|
@ -44,7 +44,7 @@ syn keyword cmakeModule
|
||||||
\ contained
|
\ contained
|
||||||
|
|
||||||
syn keyword cmakeKWExternalProject
|
syn keyword cmakeKWExternalProject
|
||||||
\ ALGO ALWAYS BINARY_DIR BUILD_ALWAYS BUILD_BYPRODUCTS BUILD_COMMAND BUILD_IN_SOURCE BYPRODUCTS CMAKE_ARGS CMAKE_CACHE_ARGS CMAKE_CACHE_DEFAULT_ARGS COMMAND COMMENT CONFIGURE_COMMAND CVS CVSROOT CVS_ CVS_MODULE CVS_REPOSITORY CVS_TAG DEPENDEES DEPENDERS DEPENDS DIRECTORY DOWNLOAD_COMMAND DOWNLOAD_DIR DOWNLOAD_NAME DOWNLOAD_NO_PROGRESS EP_BASE EP_INDEPENDENT_STEP_TARGETS EP_PREFIX EP_STEP_TARGETS EP_UPDATE_DISCONNECTED EXCLUDE_FROM_ALL EXCLUDE_FROM_MAIN FORCE GIT_REMOTE_NAME GIT_REPOSITORY GIT_SUBMODULES GIT_TAG HG_REPOSITORY HG_TAG INDEPENDENT INDEPENDENT_STEP_TARGETS INSTALL_COMMAND INSTALL_DIR JOB_POOLS LIST_SEPARATOR LOG LOG_BUILD LOG_CONFIGURE LOG_DOWNLOAD LOG_INSTALL LOG_TEST LOG_UPDATE NO_DEPENDS PATCH_COMMAND PREFIX PROPERTY SOURCE_DIR STAMP_DIR STEP_TARGETS SVN_ SVN_PASSWORD SVN_REPOSITORY SVN_REVISION SVN_TRUST_CERT SVN_USERNAME TEST_AFTER_INSTALL TEST_BEFORE_INSTALL TEST_COMMAND TEST_EXCLUDE_FROM_MAIN TIMEOUT TLS_CAINFO TLS_VERIFY TMP_DIR UPDATE_COMMAND UPDATE_DISCONNECTED URL URL_HASH USES_TERMINAL USES_TERMINAL_BUILD USES_TERMINAL_CONFIGURE USES_TERMINAL_DOWNLOAD USES_TERMINAL_INSTALL USES_TERMINAL_TEST USES_TERMINAL_UPDATE WORKING_DIRECTORY _COMMAND _DIR
|
\ ALGO ALWAYS BINARY_DIR BUILD_ALWAYS BUILD_BYPRODUCTS BUILD_COMMAND BUILD_IN_SOURCE BYPRODUCTS CMAKE_ARGS CMAKE_CACHE_ARGS CMAKE_CACHE_DEFAULT_ARGS COMMAND COMMENT CONFIGURE_COMMAND CVS CVSROOT CVS_ CVS_MODULE CVS_REPOSITORY CVS_TAG DEPENDEES DEPENDERS DEPENDS DIRECTORY DOWNLOAD_COMMAND DOWNLOAD_DIR DOWNLOAD_NAME DOWNLOAD_NO_PROGRESS EP_BASE EP_INDEPENDENT_STEP_TARGETS EP_PREFIX EP_STEP_TARGETS EP_UPDATE_DISCONNECTED EXCLUDE_FROM_ALL EXCLUDE_FROM_MAIN FORCE GIT_REMOTE_NAME GIT_REPOSITORY GIT_SUBMODULES GIT_TAG HG_REPOSITORY HG_TAG INDEPENDENT INDEPENDENT_STEP_TARGETS INSTALL_COMMAND INSTALL_DIR JOB_POOLS LIST_SEPARATOR LOG LOG_BUILD LOG_CONFIGURE LOG_DOWNLOAD LOG_INSTALL LOG_TEST LOG_UPDATE NO_DEPENDS PATCH_COMMAND PREFIX PROPERTY SOURCE_DIR STAMP_DIR STEP_TARGETS SVN_ SVN_PASSWORD SVN_REPOSITORY SVN_REVISION SVN_TRUST_CERT SVN_USERNAME TEST_AFTER_INSTALL TEST_BEFORE_INSTALL TEST_COMMAND TEST_EXCLUDE_FROM_MAIN TIMEOUT TLS_CAINFO TLS_VERIFY TMP_DIR UPDATE_COMMAND UPDATE_DISCONNECTED URL URL_HASH HTTP_USERNAME HTTP_PASSWORD USES_TERMINAL USES_TERMINAL_BUILD USES_TERMINAL_CONFIGURE USES_TERMINAL_DOWNLOAD USES_TERMINAL_INSTALL USES_TERMINAL_TEST USES_TERMINAL_UPDATE WORKING_DIRECTORY _COMMAND _DIR
|
||||||
\ contained
|
\ contained
|
||||||
|
|
||||||
syn keyword cmakeKWadd_compile_options
|
syn keyword cmakeKWadd_compile_options
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
ExternalProject-http-credentials
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
* The :module:`ExternalProject` module gained ``HTTP_USERNAME`` and
|
||||||
|
``HTTP_PASSWORD`` options to set http download credentials.
|
|
@ -135,6 +135,7 @@ foreach(i RANGE ${retry_number})
|
||||||
@TIMEOUT_ARGS@
|
@TIMEOUT_ARGS@
|
||||||
STATUS status
|
STATUS status
|
||||||
LOG log
|
LOG log
|
||||||
|
@USERPWD_ARGS@
|
||||||
)
|
)
|
||||||
|
|
||||||
list(GET status 0 status_code)
|
list(GET status 0 status_code)
|
||||||
|
|
|
@ -75,6 +75,10 @@ Create custom targets to build projects in external trees
|
||||||
Hash of file at URL
|
Hash of file at URL
|
||||||
``URL_MD5 md5``
|
``URL_MD5 md5``
|
||||||
Equivalent to URL_HASH MD5=md5
|
Equivalent to URL_HASH MD5=md5
|
||||||
|
``HTTP_USERNAME <username>``
|
||||||
|
Username for download operation
|
||||||
|
``HTTP_PASSWORD <username>``
|
||||||
|
Password for download operation
|
||||||
``TLS_VERIFY <bool>``
|
``TLS_VERIFY <bool>``
|
||||||
Should certificate for https be checked
|
Should certificate for https be checked
|
||||||
``TLS_CAINFO <file>``
|
``TLS_CAINFO <file>``
|
||||||
|
@ -858,7 +862,7 @@ endif()
|
||||||
|
|
||||||
endfunction(_ep_write_gitupdate_script)
|
endfunction(_ep_write_gitupdate_script)
|
||||||
|
|
||||||
function(_ep_write_downloadfile_script script_filename REMOTE LOCAL timeout no_progress hash tls_verify tls_cainfo)
|
function(_ep_write_downloadfile_script script_filename REMOTE LOCAL timeout no_progress hash tls_verify tls_cainfo userpwd)
|
||||||
if(timeout)
|
if(timeout)
|
||||||
set(TIMEOUT_ARGS TIMEOUT ${timeout})
|
set(TIMEOUT_ARGS TIMEOUT ${timeout})
|
||||||
set(TIMEOUT_MSG "${timeout} seconds")
|
set(TIMEOUT_MSG "${timeout} seconds")
|
||||||
|
@ -906,6 +910,12 @@ function(_ep_write_downloadfile_script script_filename REMOTE LOCAL timeout no_p
|
||||||
set(TLS_CAINFO_CODE "set(CMAKE_TLS_CAINFO \"${tls_cainfo}\")")
|
set(TLS_CAINFO_CODE "set(CMAKE_TLS_CAINFO \"${tls_cainfo}\")")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(userpwd STREQUAL ":")
|
||||||
|
set(USERPWD_ARGS)
|
||||||
|
else()
|
||||||
|
set(USERPWD_ARGS USERPWD "${userpwd}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Used variables:
|
# Used variables:
|
||||||
# * TLS_VERIFY_CODE
|
# * TLS_VERIFY_CODE
|
||||||
# * TLS_CAINFO_CODE
|
# * TLS_CAINFO_CODE
|
||||||
|
@ -916,6 +926,7 @@ function(_ep_write_downloadfile_script script_filename REMOTE LOCAL timeout no_p
|
||||||
# * SHOW_PROGRESS
|
# * SHOW_PROGRESS
|
||||||
# * TIMEOUT_ARGS
|
# * TIMEOUT_ARGS
|
||||||
# * TIMEOUT_MSG
|
# * TIMEOUT_MSG
|
||||||
|
# * USERPWD_ARGS
|
||||||
configure_file(
|
configure_file(
|
||||||
"${_ExternalProject_SELF_DIR}/ExternalProject-download.cmake.in"
|
"${_ExternalProject_SELF_DIR}/ExternalProject-download.cmake.in"
|
||||||
"${script_filename}"
|
"${script_filename}"
|
||||||
|
@ -1919,8 +1930,10 @@ function(_ep_add_download_command name)
|
||||||
get_property(no_progress TARGET ${name} PROPERTY _EP_DOWNLOAD_NO_PROGRESS)
|
get_property(no_progress TARGET ${name} PROPERTY _EP_DOWNLOAD_NO_PROGRESS)
|
||||||
get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
|
get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
|
||||||
get_property(tls_cainfo TARGET ${name} PROPERTY _EP_TLS_CAINFO)
|
get_property(tls_cainfo TARGET ${name} PROPERTY _EP_TLS_CAINFO)
|
||||||
|
get_property(http_username TARGET ${name} PROPERTY _EP_HTTP_USERNAME)
|
||||||
|
get_property(http_password TARGET ${name} PROPERTY _EP_HTTP_PASSWORD)
|
||||||
set(download_script "${stamp_dir}/download-${name}.cmake")
|
set(download_script "${stamp_dir}/download-${name}.cmake")
|
||||||
_ep_write_downloadfile_script("${download_script}" "${url}" "${file}" "${timeout}" "${no_progress}" "${hash}" "${tls_verify}" "${tls_cainfo}")
|
_ep_write_downloadfile_script("${download_script}" "${url}" "${file}" "${timeout}" "${no_progress}" "${hash}" "${tls_verify}" "${tls_cainfo}" "${http_username}:${http_password}")
|
||||||
set(cmd ${CMAKE_COMMAND} -P "${download_script}"
|
set(cmd ${CMAKE_COMMAND} -P "${download_script}"
|
||||||
COMMAND)
|
COMMAND)
|
||||||
if (no_extract)
|
if (no_extract)
|
||||||
|
|
Loading…
Reference in New Issue