Ver código fonte

BUG: never make a target depend on itself. This was causing unnecessary library duplication, resulting in link errors on some platforms.

Amitha Perera 23 anos atrás
pai
commit
c24c2cca18
1 arquivos alterados com 6 adições e 0 exclusões
  1. 6 0
      Source/cmTarget.cxx

+ 6 - 0
Source/cmTarget.cxx

@@ -104,6 +104,12 @@ void cmTarget::AddLinkLibrary(cmMakefile& mf,
                               const char *target, const char* lib, 
                               LinkLibraryType llt)
 {
+  // Never add a self dependency, even if the user asks for it.
+  if(strcmp( target, lib ) == 0)
+    {
+    return;
+    }
+
   m_LinkLibraries.push_back( std::pair<std::string, cmTarget::LinkLibraryType>(lib,llt) );
 
   if(llt != cmTarget::GENERAL)