|
|
@@ -33,6 +33,10 @@ bool cmTargetLinkLibrariesCommand
|
|
|
this->Target =
|
|
|
this->Makefile->GetCMakeInstance()
|
|
|
->GetGlobalGenerator()->FindTarget(0, args[0].c_str());
|
|
|
+ if(!this->Target)
|
|
|
+ {
|
|
|
+ this->Target = this->Makefile->FindTargetToUse(args[0].c_str());
|
|
|
+ }
|
|
|
if(!this->Target)
|
|
|
{
|
|
|
cmake::MessageType t = cmake::FATAL_ERROR; // fail by default
|
|
|
@@ -257,6 +261,16 @@ cmTargetLinkLibrariesCommand::HandleLibrary(const char* lib,
|
|
|
// Handle normal case first.
|
|
|
if(this->CurrentProcessingState != ProcessingLinkInterface)
|
|
|
{
|
|
|
+ if (this->Target->IsImported())
|
|
|
+ {
|
|
|
+ cmOStringStream e;
|
|
|
+ e << "Imported targets may only be used with the "
|
|
|
+ "LINK_INTERFACE_LIBRARIES specifier to target_link_libraries.";
|
|
|
+ this->Makefile->IssueMessage(cmake::FATAL_ERROR, e.str());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
this->Makefile
|
|
|
->AddLinkLibraryForTarget(this->Target->GetName(), lib, llt);
|
|
|
if (this->CurrentProcessingState != ProcessingPublicInterface)
|