diff --git a/cmake/OpenCVDownload.cmake b/cmake/OpenCVDownload.cmake index 7724147d31..cdc47ad2cb 100644 --- a/cmake/OpenCVDownload.cmake +++ b/cmake/OpenCVDownload.cmake @@ -20,16 +20,19 @@ if(DEFINED ENV{OPENCV_DOWNLOAD_PATH}) endif() set(OPENCV_DOWNLOAD_PATH "${OpenCV_SOURCE_DIR}/.cache" CACHE PATH "${HELP_OPENCV_DOWNLOAD_PATH}") set(OPENCV_DOWNLOAD_LOG "${OpenCV_BINARY_DIR}/CMakeDownloadLog.txt") +set(OPENCV_DOWNLOAD_WITH_CURL "${OpenCV_BINARY_DIR}/download_with_curl.sh") +set(OPENCV_DOWNLOAD_WITH_WGET "${OpenCV_BINARY_DIR}/download_with_wget.sh") -# Init download cache directory and log file +# Init download cache directory and log file and helper scripts if(NOT EXISTS "${OPENCV_DOWNLOAD_PATH}") file(MAKE_DIRECTORY ${OPENCV_DOWNLOAD_PATH}) endif() if(NOT EXISTS "${OPENCV_DOWNLOAD_PATH}/.gitignore") file(WRITE "${OPENCV_DOWNLOAD_PATH}/.gitignore" "*\n") endif() -file(WRITE "${OPENCV_DOWNLOAD_LOG}" "use_cache \"${OPENCV_DOWNLOAD_PATH}\"\n") - +file(WRITE "${OPENCV_DOWNLOAD_LOG}" "#use_cache \"${OPENCV_DOWNLOAD_PATH}\"\n") +file(REMOVE "${OPENCV_DOWNLOAD_WITH_CURL}") +file(REMOVE "${OPENCV_DOWNLOAD_WITH_WGET}") function(ocv_download) cmake_parse_arguments(DL "UNPACK;RELATIVE_URL" "FILENAME;HASH;DESTINATION_DIR;ID;STATUS" "URL" ${ARGN}) @@ -103,7 +106,7 @@ function(ocv_download) endif() # Log all calls to file - ocv_download_log("do_${mode} \"${DL_FILENAME}\" \"${DL_HASH}\" \"${DL_URL}\" \"${DL_DESTINATION_DIR}\"") + ocv_download_log("#do_${mode} \"${DL_FILENAME}\" \"${DL_HASH}\" \"${DL_URL}\" \"${DL_DESTINATION_DIR}\"") # ... and to console set(__msg_prefix "") if(DL_ID) @@ -191,6 +194,9 @@ function(ocv_download) For details please refer to the download log file: ${OPENCV_DOWNLOAD_LOG} ") + # write helper scripts for failed downloads + file(APPEND "${OPENCV_DOWNLOAD_WITH_CURL}" "curl --output \"${CACHE_CANDIDATE}\" \"${DL_URL}\"\n") + file(APPEND "${OPENCV_DOWNLOAD_WITH_WGET}" "wget -O \"${CACHE_CANDIDATE}\" \"${DL_URL}\"\n") return() endif()