[Cmake-commits] CMake branch, next, updated. v2.8.6-1973-gddf1603

Clinton Stimpson clinton at elemtech.com
Mon Nov 21 18:46:51 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  ddf16039f8f093f4d5aa43405ae1c22668b5246a (commit)
       via  9a6b102205045e457db24bd00777ef000c30e242 (commit)
       via  ad9bffdc3c1b43e0a3c3f47e9ee8d3bff487324e (commit)
       via  6580434f16cf4c6db1fde6d804e95d40f27c0f45 (commit)
      from  ba1212b74ec3437eed781c30c7e957dbe6ef1b91 (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=ddf16039f8f093f4d5aa43405ae1c22668b5246a
commit ddf16039f8f093f4d5aa43405ae1c22668b5246a
Merge: ba1212b 9a6b102
Author:     Clinton Stimpson <clinton at elemtech.com>
AuthorDate: Mon Nov 21 18:46:49 2011 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Nov 21 18:46:49 2011 -0500

    Merge topic 'GetPrerequisites-rpath-OSX' into next
    
    9a6b102 GetPrerequisites: Add support for @rpath on Mac OS X.
    ad9bffd KWSys Nightly Date Stamp
    6580434 KWSys Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9a6b102205045e457db24bd00777ef000c30e242
commit 9a6b102205045e457db24bd00777ef000c30e242
Author:     Clinton Stimpson <clinton at elemtech.com>
AuthorDate: Mon Nov 21 16:45:49 2011 -0700
Commit:     Clinton Stimpson <clinton at elemtech.com>
CommitDate: Mon Nov 21 16:45:49 2011 -0700

    GetPrerequisites: Add support for @rpath on Mac OS X.
    
    Handle @rpath much like other Unixes, by doing a find_file with the given directories.
    
    Also, consider a library to be local if it is found in the same directory or a subdirectory relative to the user
    executable/library.  Previously, it was local only if found in the same directory.
    This case is encountered when @rpath is used with framework libraries, which are inside a directory tree.

diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake
index 2efa079..fbbaf9c 100644
--- a/Modules/GetPrerequisites.cmake
+++ b/Modules/GetPrerequisites.cmake
@@ -304,6 +304,26 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
   endif(NOT resolved)
 
   if(NOT resolved)
+    if(item MATCHES "@rpath")
+      #
+      # @rpath references are relative to the paths built into the binaries with -rpath
+      # We handle this case like we do for other Unixes
+      #
+      string(REPLACE "@rpath/" "" norpath_item "${item}")
+
+      set(ri "ri-NOTFOUND")
+      find_file(ri "${norpath_item}" ${exepath} ${dirs} NO_DEFAULT_PATH)
+      if(ri)
+        #message(STATUS "info: 'find_file' in exepath/dirs (${ri})")
+        set(resolved 1)
+        set(resolved_item "${ri}")
+        set(ri "ri-NOTFOUND")
+      endif(ri)
+
+    endif(item MATCHES "@rpath")
+  endif(NOT resolved)
+
+  if(NOT resolved)
     set(ri "ri-NOTFOUND")
     find_file(ri "${item}" ${exepath} ${dirs} NO_DEFAULT_PATH)
     find_file(ri "${item}" ${exepath} ${dirs} /usr/lib)
@@ -458,9 +478,13 @@ function(gp_resolved_file_type original_file file exepath dirs type_var)
 
     if(NOT is_system)
       get_filename_component(original_path "${original_lower}" PATH)
-      get_filename_component(path "${lower}" PATH)
-      if("${original_path}" STREQUAL "${path}")
-        set(is_local 1)
+      string(LENGTH "${original_path}/" original_length)
+      string(LENGTH "${lower}" path_length)
+      if(${path_length} GREATER ${original_length})
+        string(SUBSTRING "${lower}" 0 ${original_length} path)
+        if("${original_path}/" STREQUAL "${path}")
+          set(is_local 1)
+        endif()
       endif()
     endif()
   endif()

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

Summary of changes:
 Modules/GetPrerequisites.cmake    |   30 +++++++++++++++++++++++++++---
 Source/kwsys/kwsysDateStamp.cmake |    2 +-
 2 files changed, 28 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list