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 10e54d095de4c136589a588d10b7b68a79db289a (commit) via 42a17cc664d1c2d560df074a1c1c60d6d54ce2c5 (commit) from 11f96261dc61b773253f722710c7d5806f53f32a (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=10e54d095de4c136589a588d10b7b68a79db289a commit 10e54d095de4c136589a588d10b7b68a79db289a Merge: 11f9626 42a17cc Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Fri Nov 1 07:18:07 2013 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Nov 1 07:18:07 2013 -0400 Merge topic 'handle-only-plain-tll' into next 42a17cc Ensure that LINK_LIBRARIES can be populated without tll. diff --cc Source/cmTarget.cxx index 1b09789,2bf8327..d305d95 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@@ -5180,8 -6395,28 +5180,28 @@@ void cmTarget::GetTransitivePropertyLin } //---------------------------------------------------------------------------- + bool cmTarget::OnlyUsedWithPlainTLL() const + { + if (this->TLLCommands.empty()) + { + return false; + } + typedef std::vector<std::pair<TLLSignature, cmListFileBacktrace> > + Container; + for(Container::const_iterator it = this->TLLCommands.begin(); + it != this->TLLCommands.end(); ++it) + { + if (it->first == cmTarget::KeywordTLLSignature) + { + return false; + } + } + return true; + } + + //---------------------------------------------------------------------------- bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface, - cmTarget *headTarget) + cmTarget const* headTarget) const { // Construct the property name suffix for this configuration. std::string suffix = "_"; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=42a17cc664d1c2d560df074a1c1c60d6d54ce2c5 commit 42a17cc664d1c2d560df074a1c1c60d6d54ce2c5 Author: Stephen Kelly <steve...@gmail.com> AuthorDate: Fri Nov 1 12:10:57 2013 +0100 Commit: Stephen Kelly <steve...@gmail.com> CommitDate: Fri Nov 1 12:14:30 2013 +0100 Ensure that LINK_LIBRARIES can be populated without tll. It should be allowed to use add_library(foo ...) add_library(bar ...) set_property(TARGET foo PROPERTY LINK_LIBRARIES bar) without causing bar to be in the exported INTERFACE_LINK_LIBRARIES of foo. diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index d674aef..e37e15c 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -186,7 +186,7 @@ bool cmExportFileGenerator::PopulateInterfaceLinkLibrariesProperty( std::vector<std::string> &missingTargets) { const char *input = target->GetProperty("INTERFACE_LINK_LIBRARIES"); - if (!input) + if (!input && target->OnlyUsedWithPlainTLL()) { // Only the plain target_link_libraries(foo bar) signature was // called so use the link implementation as the link interface. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 221ca16..2bf8327 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -6395,6 +6395,26 @@ void cmTarget::GetTransitivePropertyLinkLibraries( } //---------------------------------------------------------------------------- +bool cmTarget::OnlyUsedWithPlainTLL() const +{ + if (this->TLLCommands.empty()) + { + return false; + } + typedef std::vector<std::pair<TLLSignature, cmListFileBacktrace> > + Container; + for(Container::const_iterator it = this->TLLCommands.begin(); + it != this->TLLCommands.end(); ++it) + { + if (it->first == cmTarget::KeywordTLLSignature) + { + return false; + } + } + return true; +} + +//---------------------------------------------------------------------------- bool cmTarget::ComputeLinkInterface(const char* config, LinkInterface& iface, cmTarget *headTarget) { diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 27b74ca..161f40b 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -196,6 +196,7 @@ public: }; bool PushTLLCommandTrace(TLLSignature signature); void GetTllSignatureTraces(cmOStringStream &s, TLLSignature sig) const; + bool OnlyUsedWithPlainTLL() const; void MergeLinkLibraries( cmMakefile& mf, const char* selfname, const LinkLibraryVectorType& libs ); diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx index 5174f18..863b391 100644 --- a/Source/cmTargetLinkLibrariesCommand.cxx +++ b/Source/cmTargetLinkLibrariesCommand.cxx @@ -301,15 +301,6 @@ bool cmTargetLinkLibrariesCommand this->Target->SetProperty("LINK_INTERFACE_LIBRARIES", ""); } - // Make sure INTERFACE_LINK_LIBRARIES target property exists - // if any signature except the plain one was used. Other - // signatures imply awareness of explicit link interfaces. - if(this->CurrentProcessingState != ProcessingLinkLibraries && - !this->Target->GetProperty("INTERFACE_LINK_LIBRARIES")) - { - this->Target->SetProperty("INTERFACE_LINK_LIBRARIES", ""); - } - return true; } ----------------------------------------------------------------------- Summary of changes: Source/cmExportFileGenerator.cxx | 2 +- Source/cmTarget.cxx | 20 ++++++++++++++++++++ Source/cmTarget.h | 1 + Source/cmTargetLinkLibrariesCommand.cxx | 9 --------- 4 files changed, 22 insertions(+), 10 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits