[Cmake-commits] CMake branch, next, updated. v2.8.10.2-2360-gd18226e

Stephen Kelly steveire at gmail.com
Thu Feb 28 12:33:23 EST 2013


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  d18226ed0e9d4e1c651db8f80ebfc11d34570d46 (commit)
       via  dcb5907ed67df2e64d5e3f29fefd40e3a8c8eca3 (commit)
      from  466d4c7333cae2467eb6fd1e5169054677a89fae (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=d18226ed0e9d4e1c651db8f80ebfc11d34570d46
commit d18226ed0e9d4e1c651db8f80ebfc11d34570d46
Merge: 466d4c7 dcb5907
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Feb 28 12:33:22 2013 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Feb 28 12:33:22 2013 -0500

    Merge topic 'fix-genex-RPATH-handling' into next
    
    dcb5907 Fix RPATH information when only a genex is used as a link library.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dcb5907ed67df2e64d5e3f29fefd40e3a8c8eca3
commit dcb5907ed67df2e64d5e3f29fefd40e3a8c8eca3
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Thu Feb 28 18:25:25 2013 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Thu Feb 28 18:25:33 2013 +0100

    Fix RPATH information when only a genex is used as a link library.
    
    As of commit 1da75022 (Don't include generator expressions in
    old-style link handling., 2012-12-23), such entries are not
    included in the LinkLibraries member. Generator expressions in
    LinkLibraries are not processed anyway, so port to the new way
    of getting link information.

diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index 84714f3..896b50a 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -1816,7 +1816,7 @@ void cmComputeLinkInformation::GetRPath(std::vector<std::string>& runtimeDirs,
     (outputRuntime && this->Target->HaveInstallTreeRPATH() &&
      linking_for_install);
   bool use_build_rpath =
-    (outputRuntime && this->Target->HaveBuildTreeRPATH() &&
+    (outputRuntime && this->Target->HaveBuildTreeRPATH(this->Config) &&
      !linking_for_install);
   bool use_link_rpath =
     outputRuntime && linking_for_install &&
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 717cfc8..f38b16e 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -4253,10 +4253,15 @@ void cmTarget::SetPropertyDefault(const char* property,
 }
 
 //----------------------------------------------------------------------------
-bool cmTarget::HaveBuildTreeRPATH()
+bool cmTarget::HaveBuildTreeRPATH(const char *config)
 {
-  return (!this->GetPropertyAsBool("SKIP_BUILD_RPATH") &&
-          !this->LinkLibraries.empty());
+  if (this->GetPropertyAsBool("SKIP_BUILD_RPATH"))
+    {
+    return false;
+    }
+  std::vector<std::string> libs;
+  this->GetDirectLinkLibraries(config, libs, this);
+  return !libs.empty();
 }
 
 //----------------------------------------------------------------------------
@@ -4327,7 +4332,7 @@ bool cmTarget::NeedRelinkBeforeInstall(const char* config)
   // If either a build or install tree rpath is set then the rpath
   // will likely change between the build tree and install tree and
   // this target must be relinked.
-  return this->HaveBuildTreeRPATH() || this->HaveInstallTreeRPATH();
+  return this->HaveBuildTreeRPATH(config) || this->HaveInstallTreeRPATH();
 }
 
 //----------------------------------------------------------------------------
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index e659baf..0e6dd42 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -401,7 +401,7 @@ public:
    */
   bool NeedRelinkBeforeInstall(const char* config);
 
-  bool HaveBuildTreeRPATH();
+  bool HaveBuildTreeRPATH(const char *config);
   bool HaveInstallTreeRPATH();
 
   /** Return true if builtin chrpath will work for this target */

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

Summary of changes:
 Source/cmComputeLinkInformation.cxx |    2 +-
 Source/cmTarget.cxx                 |   13 +++++++++----
 Source/cmTarget.h                   |    2 +-
 3 files changed, 11 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list