Sfoglia il codice sorgente

Just warn in case of a bad target as only argument for t_l_l()

As discussed on cmake-devel, if target_link_libraries() is called with
only one argument, and this one argument is not a valid target, just
print a warning but don't fail, since otherwise probably some existing
code somewhere might stop building.

Alex
Alex Neundorf 15 anni fa
parent
commit
6aef6d84d7
1 ha cambiato i file con 12 aggiunte e 2 eliminazioni
  1. 12 2
      Source/cmTargetLinkLibrariesCommand.cxx

+ 12 - 2
Source/cmTargetLinkLibrariesCommand.cxx

@@ -38,8 +38,18 @@ bool cmTargetLinkLibrariesCommand
     cmOStringStream e;
     e << "Cannot specify link libraries for target \"" << args[0] << "\" "
       << "which is not built by this project.";
-    this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
-    cmSystemTools::SetFatalErrorOccured();
+    // The bad target is the only argument, just warn, don't fail, because
+    // there is probably some code out there which would stop building
+    // otherwise:
+    if (args.size() < 2)
+      {
+      this->Makefile->IssueMessage(cmake::AUTHOR_WARNING, e.str());
+      }
+    else
+      {
+      this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
+      cmSystemTools::SetFatalErrorOccured();
+      }
     return true;
     }