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
This commit is contained in:
Alex Neundorf 2010-08-26 21:54:43 +02:00
parent c786635149
commit 6aef6d84d7
1 changed files with 12 additions and 2 deletions

View File

@ -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;
}