Ver Fonte

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.
Brad King há 16 anos atrás
pai
commit
57057ee595
1 ficheiros alterados com 7 adições e 1 exclusões
  1. 7 1
      Source/cmComputeLinkInformation.cxx

+ 7 - 1
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);
+      }
     }
 }