[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