Prefer to SHA1 other than MD5 in third-party downloads

If CMake version is less than 2.8.11, fallback to MD5
This commit is contained in:
Xu Cheng
2014-11-06 15:58:35 +08:00
parent 7edd68e635
commit 77fc32b311
2 changed files with 17 additions and 7 deletions

View File

@@ -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)