|
@@ -103,11 +103,14 @@ bool cmTargetLinkLibrariesCommand
|
|
|
|
|
|
if (this->Target->GetType() == cmTarget::UTILITY)
|
|
|
{
|
|
|
+ cmOStringStream e;
|
|
|
const char *modal = 0;
|
|
|
cmake::MessageType messageType = cmake::AUTHOR_WARNING;
|
|
|
switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0039))
|
|
|
{
|
|
|
case cmPolicies::WARN:
|
|
|
+ e << this->Makefile->GetPolicies()
|
|
|
+ ->GetPolicyWarning(cmPolicies::CMP0039) << "\n";
|
|
|
modal = "should";
|
|
|
case cmPolicies::OLD:
|
|
|
break;
|
|
@@ -119,9 +122,7 @@ bool cmTargetLinkLibrariesCommand
|
|
|
}
|
|
|
if (modal)
|
|
|
{
|
|
|
- cmOStringStream e;
|
|
|
- e << this->Makefile->GetPolicies()
|
|
|
- ->GetPolicyWarning(cmPolicies::CMP0039) << "\n"
|
|
|
+ e <<
|
|
|
"Utility target \"" << this->Target->GetName() << "\" " << modal
|
|
|
<< " not be used as the target of a target_link_libraries call.";
|
|
|
this->Makefile->IssueMessage(messageType, e.str());
|
|
@@ -373,11 +374,14 @@ cmTargetLinkLibrariesCommand::HandleLibrary(const std::string& lib,
|
|
|
? cmTarget::KeywordTLLSignature : cmTarget::PlainTLLSignature;
|
|
|
if (!this->Target->PushTLLCommandTrace(sig))
|
|
|
{
|
|
|
+ cmOStringStream e;
|
|
|
const char *modal = 0;
|
|
|
cmake::MessageType messageType = cmake::AUTHOR_WARNING;
|
|
|
switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0023))
|
|
|
{
|
|
|
case cmPolicies::WARN:
|
|
|
+ e << this->Makefile->GetPolicies()
|
|
|
+ ->GetPolicyWarning(cmPolicies::CMP0023) << "\n";
|
|
|
modal = "should";
|
|
|
case cmPolicies::OLD:
|
|
|
break;
|
|
@@ -390,14 +394,12 @@ cmTargetLinkLibrariesCommand::HandleLibrary(const std::string& lib,
|
|
|
|
|
|
if(modal)
|
|
|
{
|
|
|
- cmOStringStream e;
|
|
|
// If the sig is a keyword form and there is a conflict, the existing
|
|
|
// form must be the plain form.
|
|
|
const char *existingSig
|
|
|
= (sig == cmTarget::KeywordTLLSignature ? "plain"
|
|
|
: "keyword");
|
|
|
- e << this->Makefile->GetPolicies()
|
|
|
- ->GetPolicyWarning(cmPolicies::CMP0023) << "\n"
|
|
|
+ e <<
|
|
|
"The " << existingSig << " signature for target_link_libraries "
|
|
|
"has already been used with the target \""
|
|
|
<< this->Target->GetName() << "\". All uses of "
|