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 <clin...@elemtech.com> AuthorDate: Mon Nov 21 18:46:49 2011 -0500 Commit: CMake Topic Stage <kwro...@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 <clin...@elemtech.com> AuthorDate: Mon Nov 21 16:45:49 2011 -0700 Commit: Clinton Stimpson <clin...@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 _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits