aboutsummaryrefslogtreecommitdiff
path: root/third-party/cmake/DownloadAndExtractFile.cmake
diff options
context:
space:
mode:
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)