This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  224ece3d2e7c8b4d5f1b8b0ce7dcd623812597d0 (commit)
       via  ee7405a6dbcc780c9ce720f20cbb25dde5f1b7f8 (commit)
      from  89dcb01ee34bc45f43f34cda1a72fa3abde7a153 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=224ece3d2e7c8b4d5f1b8b0ce7dcd623812597d0
commit 224ece3d2e7c8b4d5f1b8b0ce7dcd623812597d0
Merge: 89dcb01 ee7405a
Author:     Brad King <[email protected]>
AuthorDate: Mon Nov 10 11:29:07 2014 -0500
Commit:     CMake Topic Stage <[email protected]>
CommitDate: Mon Nov 10 11:29:07 2014 -0500

    Merge topic 'ExternalProject-check-hash-before-download' into next
    
    ee7405a6 ExternalProject: Restore logic to not download already-existing 
file


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ee7405a6dbcc780c9ce720f20cbb25dde5f1b7f8
commit ee7405a6dbcc780c9ce720f20cbb25dde5f1b7f8
Author:     Brad King <[email protected]>
AuthorDate: Mon Nov 10 11:09:12 2014 -0500
Commit:     Brad King <[email protected]>
CommitDate: Mon Nov 10 11:26:52 2014 -0500

    ExternalProject: Restore logic to not download already-existing file
    
    The change in commit v3.1.0-rc1~85^2 (ExternalProject: Fix download
    retry logic, 2014-09-13) dropped the file(DOWNLOAD) EXPECTED_HASH
    argument.  This prevents file(DOWNLOAD) from skipping the download if
    the output file already exists with the proper hash.  Restore this check
    with explicit code in the download script.
    
    Reported-by: Ruslan Baratov <[email protected]>

diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index d6a6b72..cdd3039 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -628,6 +628,19 @@ function(_ep_write_downloadfile_script script_filename 
remote local timeout no_p
     set(show_progress "SHOW_PROGRESS")
   endif()
 
+  if("${hash}" MATCHES "${_ep_hash_regex}")
+    string(CONCAT hash_check
+      "if(EXISTS \"${local}\")\n"
+      "  file(\"${CMAKE_MATCH_1}\" \"${local}\" hash_value)\n"
+      "  if(\"x\${hash_value}\" STREQUAL \"x${CMAKE_MATCH_2}\")\n"
+      "    return()\n"
+      "  endif()\n"
+      "endif()\n"
+      )
+  else()
+    set(hash_check "")
+  endif()
+
   # check for curl globals in the project
   if(DEFINED CMAKE_TLS_VERIFY)
     set(tls_verify "set(CMAKE_TLS_VERIFY ${CMAKE_TLS_VERIFY})")
@@ -651,7 +664,7 @@ function(_ep_write_downloadfile_script script_filename 
remote local timeout no_p
   endif()
 
   file(WRITE ${script_filename}
-"message(STATUS \"downloading...
+"${hash_check}message(STATUS \"downloading...
      src='${remote}'
      dst='${local}'
      timeout='${timeout_msg}'\")

-----------------------------------------------------------------------

Summary of changes:
 Modules/ExternalProject.cmake |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
[email protected]
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to