[Cmake-commits] CMake branch, next, updated. v2.8.1-1486-g1c8c204

Clinton Stimpson clinton at elemtech.com
Wed Jun 23 23:15:27 EDT 2010


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  1c8c20485992bdbb224c99eec80715cb2d6b5a50 (commit)
       via  5e6634fd77969433a87c150a2fb3f2079131484f (commit)
      from  f8370df82654be256ddc879a4313d7f7b8c33ce6 (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=1c8c20485992bdbb224c99eec80715cb2d6b5a50
commit 1c8c20485992bdbb224c99eec80715cb2d6b5a50
Merge: f8370df 5e6634f
Author: Clinton Stimpson <clinton at elemtech.com>
Date:   Wed Jun 23 21:15:26 2010 -0600

    Merge branch 'getprerequisites-bug10418' into next


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5e6634fd77969433a87c150a2fb3f2079131484f
commit 5e6634fd77969433a87c150a2fb3f2079131484f
Author: Clinton Stimpson <clinton at elemtech.com>
Date:   Wed Jun 23 21:13:07 2010 -0600

    Fix bug 10418 - GetPrerequisites returning "not" as a dependency.
    
    ldd can return "not found" and we need to handle it correctly.
    In that case, we extract only the name of the library instead of trying for its full path.

diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake
index 24cee55..d450322 100644
--- a/Modules/GetPrerequisites.cmake
+++ b/Modules/GetPrerequisites.cmake
@@ -526,6 +526,8 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
   if("${gp_tool}" STREQUAL "ldd")
     set(gp_cmd_args "")
     set(gp_regex "^[\t ]*[^\t ]+ => ([^\t ]+).*${eol_char}$")
+    set(gp_regex_error "not found${eol_char}$")
+    set(gp_regex_fallback "^[\t ]*([^\t ]+) => ([^\t ]+).*${eol_char}$")
     set(gp_regex_cmp_count 1)
     set(gp_tool_known 1)
   endif("${gp_tool}" STREQUAL "ldd")
@@ -533,6 +535,8 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
   if("${gp_tool}" STREQUAL "otool")
     set(gp_cmd_args "-L")
     set(gp_regex "^\t([^\t]+) \\(compatibility version ([0-9]+.[0-9]+.[0-9]+), current version ([0-9]+.[0-9]+.[0-9]+)\\)${eol_char}$")
+    set(gp_regex_error "")
+    set(gp_regex_fallback "")
     set(gp_regex_cmp_count 3)
     set(gp_tool_known 1)
   endif("${gp_tool}" STREQUAL "otool")
@@ -540,6 +544,8 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
   if("${gp_tool}" STREQUAL "dumpbin")
     set(gp_cmd_args "/dependents")
     set(gp_regex "^    ([^ ].*[Dd][Ll][Ll])${eol_char}$")
+    set(gp_regex_error "")
+    set(gp_regex_fallback "")
     set(gp_regex_cmp_count 1)
     set(gp_tool_known 1)
     set(ENV{VS_UNICODE_OUTPUT} "") # Block extra output from inside VS IDE.
@@ -629,8 +635,13 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
   #
   foreach(candidate ${candidates})
   if("${candidate}" MATCHES "${gp_regex}")
+
     # Extract information from each candidate:
-    string(REGEX REPLACE "${gp_regex}" "\\1" raw_item "${candidate}")
+    if(gp_regex_error AND "${candidate}" MATCHES ${gp_regex_error})
+      string(REGEX REPLACE "${gp_regex_fallback}" "\\1" raw_item "${candidate}")
+    else(gp_regex_error AND "${candidate}" MATCHES ${gp_regex_error})
+      string(REGEX REPLACE "${gp_regex}" "\\1" raw_item "${candidate}")
+    endif(gp_regex_error AND "${candidate}" MATCHES ${gp_regex_error})
 
     if(gp_regex_cmp_count GREATER 1)
       string(REGEX REPLACE "${gp_regex}" "\\2" raw_compat_version "${candidate}")

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

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


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list