diff options
Diffstat (limited to 'third-party/cmake/DownloadAndExtractFile.cmake')
-rw-r--r-- | third-party/cmake/DownloadAndExtractFile.cmake | 12 |
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) |