[Cmake-commits] CMake branch, next, updated. v2.8.6-2209-g945d5bd

Brad King brad.king at kitware.com
Wed Dec 14 15:04:30 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  945d5bdb2422d55893c6c20614f2bf7053b6db00 (commit)
       via  d30227125e83fc53e90dee1e0213b20d3fcc735c (commit)
      from  39314a1cfc6ceb7ca82a41f7e31eabc88f3fb5b3 (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=945d5bdb2422d55893c6c20614f2bf7053b6db00
commit 945d5bdb2422d55893c6c20614f2bf7053b6db00
Merge: 39314a1 d302271
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 14 15:04:24 2011 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Dec 14 15:04:24 2011 -0500

    Merge topic 'transitive-shared-lib-depend' into next
    
    d302271 Follow only shared dependencies of shared library dependencies


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d30227125e83fc53e90dee1e0213b20d3fcc735c
commit d30227125e83fc53e90dee1e0213b20d3fcc735c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 14 14:51:03 2011 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Dec 14 14:59:54 2011 -0500

    Follow only shared dependencies of shared library dependencies
    
    Since the parent commit cmComputeLinkDepends follows all dependencies of
    a shared library's private dependencies instead of just their private
    dependencies.  Unlike the "SharedDeps" member of a library's interface
    the "Libraries" member may list targets other than shared libraries.
    Filter them in cmComputeLinkDepends::HandleSharedDependency to avoid
    following non-shared libraries.
    
    Method cmComputeLinkInformation::AddSharedDepItem is the downstream
    consumer of the shared library dependency closure.  While it discards
    targets that are not shared libraries, it does not discard dependencies
    that may have been collected through them.

diff --git a/Source/cmComputeLinkDepends.cxx b/Source/cmComputeLinkDepends.cxx
index 802cfcf..0cc0fc8 100644
--- a/Source/cmComputeLinkDepends.cxx
+++ b/Source/cmComputeLinkDepends.cxx
@@ -419,6 +419,12 @@ void cmComputeLinkDepends::HandleSharedDependency(SharedDepEntry const& dep)
   int index = lei->second;
   LinkEntry& entry = this->EntryList[index];
 
+  // Skip dependencies known to not be shared libraries.
+  if(entry.Target && entry.Target->GetType() != cmTarget::SHARED_LIBRARY)
+    {
+    return;
+    }
+
   // This shared library dependency must follow the item that listed
   // it.
   this->EntryConstraintGraph[dep.DependerIndex].push_back(index);

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

Summary of changes:
 Source/cmComputeLinkDepends.cxx |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list