diff options
author | Stephen Kelly <steveire@gmail.com> | 2012-11-01 09:16:56 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2012-11-21 14:49:36 (GMT) |
commit | d5cf644ac2e3f035d2d3413dd98aa0d46f9f27eb (patch) | |
tree | bd0b8ca4133a5c4900e3e3a0db42b6e483ea2654 | |
parent | d8a59ea4b370eaf4a5b6162631af9e272fdb24b4 (diff) | |
download | CMake-d5cf644ac2e3f035d2d3413dd98aa0d46f9f27eb.zip CMake-d5cf644ac2e3f035d2d3413dd98aa0d46f9f27eb.tar.gz CMake-d5cf644ac2e3f035d2d3413dd98aa0d46f9f27eb.tar.bz2 |
Split link information processing into two steps.
The first step can be ported to use the generator expression API,
while the second can not. This is for compatibility with CMP0003.
-rw-r--r-- | Source/cmTarget.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 7c62ea8..214b099 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -4707,14 +4707,24 @@ void cmTarget::ComputeLinkImplementation(const char* config, { continue; } - if(li->second == cmTarget::GENERAL || li->second == linkType) { // The entry is meant for this configuration. impl.Libraries.push_back(item); } - else + } + + LinkLibraryVectorType const& oldllibs = this->GetOriginalLinkLibraries(); + for(cmTarget::LinkLibraryVectorType::const_iterator li = oldllibs.begin(); + li != oldllibs.end(); ++li) + { + if(li->second != cmTarget::GENERAL && li->second != linkType) { + std::string item = this->CheckCMP0004(li->first); + if(item == this->GetName() || item.empty()) + { + continue; + } // Support OLD behavior for CMP0003. impl.WrongConfigLibraries.push_back(item); } |