[Cmake-commits] CMake branch, next, updated. v2.8.4-1101-ge8f3c30

David Cole david.cole at kitware.com
Fri Mar 4 17:29:32 EST 2011


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  e8f3c307077bb50011019608c535bfa11aa6d781 (commit)
       via  7f10b137e1e75a57346b566a8818718b7f851625 (commit)
      from  eb92381eb6cb509b5f64f295a2ed85ff16b17e43 (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=e8f3c307077bb50011019608c535bfa11aa6d781
commit e8f3c307077bb50011019608c535bfa11aa6d781
Merge: eb92381 7f10b13
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Fri Mar 4 17:29:30 2011 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Mar 4 17:29:30 2011 -0500

    Merge topic 'improve-ExternalProject-file-name-recognition' into next
    
    7f10b13 ExternalProject: Extract file names from more urls


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f10b137e1e75a57346b566a8818718b7f851625
commit 7f10b137e1e75a57346b566a8818718b7f851625
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Fri Mar 4 16:51:46 2011 -0500
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Fri Mar 4 17:09:41 2011 -0500

    ExternalProject: Extract file names from more urls
    
    Notably, downloads from sourceforge.net and gitweb snapshots.

diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 3de6b7e..390b8f9 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -403,11 +403,11 @@ endfunction(_ep_write_verifyfile_script)
 function(_ep_write_extractfile_script script_filename name filename directory)
   set(args "")
 
-  if(filename MATCHES "(\\.bz2|\\.tar\\.gz|\\.tgz|\\.zip)$")
+  if(filename MATCHES "(\\.|=)(bz2|tar\\.gz|tgz|zip)$")
     set(args xfz)
   endif()
 
-  if(filename MATCHES "\\.tar$")
+  if(filename MATCHES "(\\.|=)tar$")
     set(args xf)
   endif()
 
@@ -1109,10 +1109,15 @@ function(_ep_add_download_command name)
     else()
       if("${url}" MATCHES "^[a-z]+://")
         # TODO: Should download and extraction be different steps?
-        string(REGEX MATCH "[^/]*$" fname "${url}")
-        if(NOT "${fname}" MATCHES "\\.(bz2|tar|tgz|tar\\.gz|zip)$")
+        string(REGEX MATCH "[^/\\?]*$" fname "${url}")
+        if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|zip)$")
+          string(REGEX MATCH "([^/\\?]+(\\.|=)(bz2|tar|tgz|tar\\.gz|zip))/.*$" match_result "${url}")
+          set(fname "${CMAKE_MATCH_1}")
+        endif()
+        if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|zip)$")
           message(FATAL_ERROR "Could not extract tarball filename from url:\n  ${url}")
         endif()
+        string(REPLACE ";" "-" fname "${fname}")
         set(file ${download_dir}/${fname})
         get_property(timeout TARGET ${name} PROPERTY _EP_TIMEOUT)
         _ep_write_downloadfile_script("${stamp_dir}/download-${name}.cmake" "${url}" "${file}" "${timeout}" "${md5}")

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

Summary of changes:
 Modules/ExternalProject.cmake |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list