aboutsummaryrefslogtreecommitdiff
path: root/third-party/cmake/DownloadAndExtractFile.cmake
diff options
context:
space:
mode:
authorXu Cheng <xucheng@me.com>2014-11-06 15:58:35 +0800
committerXu Cheng <xucheng@me.com>2014-11-07 16:07:26 +0800
commit77fc32b311dbac7d6e933410f343593c400a5db2 (patch)
treeeeb2263d3473064f6b0af4ea60402dc7b99a5061 /third-party/cmake/DownloadAndExtractFile.cmake
parent7edd68e635041e06ca4d21cda57a8fc5efaf1a19 (diff)
downloadrneovim-77fc32b311dbac7d6e933410f343593c400a5db2.tar.gz
rneovim-77fc32b311dbac7d6e933410f343593c400a5db2.tar.bz2
rneovim-77fc32b311dbac7d6e933410f343593c400a5db2.zip
Prefer to SHA1 other than MD5 in third-party downloads
If CMake version is less than 2.8.11, fallback to MD5
Diffstat (limited to 'third-party/cmake/DownloadAndExtractFile.cmake')
-rw-r--r--third-party/cmake/DownloadAndExtractFile.cmake12
1 files changed, 9 insertions, 3 deletions
diff --git a/third-party/cmake/DownloadAndExtractFile.cmake b/third-party/cmake/DownloadAndExtractFile.cmake
index e7a01b8a87..14873793d9 100644
--- a/third-party/cmake/DownloadAndExtractFile.cmake
+++ b/third-party/cmake/DownloadAndExtractFile.cmake
@@ -10,8 +10,8 @@ if(NOT DEFINED DOWNLOAD_DIR)
message(FATAL_ERROR "DOWNLOAD_DIR must be defined.")
endif()
-if(NOT DEFINED EXPECTED_MD5)
- message(FATAL_ERROR "EXPECTED_MD5 must be defined.")
+if((NOT DEFINED EXPECTED_SHA1) OR (NOT DEFINED EXPECTED_MD5))
+ message(FATAL_ERROR "EXPECTED_SHA1 or EXPECTED_MD5 must be defined.")
endif()
if(NOT DEFINED TARGET)
@@ -46,9 +46,15 @@ message(STATUS "downloading...
dst='${file}'
timeout='${timeout_msg}'")
+if((DEFINED EXPECTED_SHA1) AND (${CMAKE_VERSION} VERSION_GREATER 2.8.10))
+ set(hash_args EXPECTED_HASH SHA1=${EXPECTED_SHA1})
+else()
+ set(hash_args EXPECTED_MD5 ${EXPECTED_MD5})
+endif()
+
file(DOWNLOAD ${URL} ${file}
${timeout_args}
- EXPECTED_MD5 ${EXPECTED_MD5}
+ ${hash_args}
STATUS status
LOG log)