summaryrefslogtreecommitdiff
path: root/Source/cmComputeLinkInformation.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-07-28 08:36:17 -0400
committerBrad King <brad.king@kitware.com>2009-07-28 08:36:17 -0400
commit57057ee59550980e19d5c4535d3ec0f4734653a0 (patch)
tree6d5176637efa82417d5e48c72b51adba71180364 /Source/cmComputeLinkInformation.cxx
parent836447663e6f109907fe381664a8b2d05c2c934f (diff)
downloadcmake-57057ee59550980e19d5c4535d3ec0f4734653a0.tar.gz
BUG: Do not filter non-library implicit link items
We list implicit link items of languages linked into a target but filter them by the implicit libraries known to be passed by the main linker language. Implicit link flags like "-z..." should not be filtered out because they are not libraries.
Diffstat (limited to 'Source/cmComputeLinkInformation.cxx')
-rw-r--r--Source/cmComputeLinkInformation.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index 4958feed69..3405546bd7 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -1626,7 +1626,13 @@ void cmComputeLinkInformation::LoadImplicitLinkInfo()
for(std::vector<std::string>::const_iterator i = implicitLibVec.begin();
i != implicitLibVec.end(); ++i)
{
- this->ImplicitLinkLibs.insert(*i);
+ // Items starting in '-' but not '-l' are flags, not libraries,
+ // and should not be filtered by this implicit list.
+ std::string const& item = *i;
+ if(item[0] != '-' || item[1] == 'l')
+ {
+ this->ImplicitLinkLibs.insert(item);
+ }
}
}