Merge topic 'authorative-LINK_LIBRARIES'
f01dc72
Use one authorative source of the LINK_LIBRARIES property.
This commit is contained in:
commit
31e6ee502e
|
@ -2661,6 +2661,11 @@ void cmTarget::FinalizeSystemIncludeDirectories()
|
||||||
end = this->Internal->LinkInterfacePropertyEntries.end();
|
end = this->Internal->LinkInterfacePropertyEntries.end();
|
||||||
it != end; ++it)
|
it != end; ++it)
|
||||||
{
|
{
|
||||||
|
if (!cmGeneratorExpression::IsValidTargetName(it->Value)
|
||||||
|
&& cmGeneratorExpression::Find(it->Value) == std::string::npos)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
cmListFileBacktrace lfbt;
|
cmListFileBacktrace lfbt;
|
||||||
cmGeneratorExpression ge(lfbt);
|
cmGeneratorExpression ge(lfbt);
|
||||||
|
@ -3037,15 +3042,11 @@ void cmTarget::SetProperty(const char* prop, const char* value)
|
||||||
if (strcmp(prop, "LINK_LIBRARIES") == 0)
|
if (strcmp(prop, "LINK_LIBRARIES") == 0)
|
||||||
{
|
{
|
||||||
this->Internal->LinkInterfacePropertyEntries.clear();
|
this->Internal->LinkInterfacePropertyEntries.clear();
|
||||||
if (cmGeneratorExpression::IsValidTargetName(value)
|
cmListFileBacktrace lfbt;
|
||||||
|| cmGeneratorExpression::Find(value) != std::string::npos)
|
this->Makefile->GetBacktrace(lfbt);
|
||||||
{
|
cmValueWithOrigin entry(value, lfbt);
|
||||||
cmListFileBacktrace lfbt;
|
this->Internal->LinkInterfacePropertyEntries.push_back(entry);
|
||||||
this->Makefile->GetBacktrace(lfbt);
|
return;
|
||||||
cmValueWithOrigin entry(value, lfbt);
|
|
||||||
this->Internal->LinkInterfacePropertyEntries.push_back(entry);
|
|
||||||
}
|
|
||||||
// Fall through
|
|
||||||
}
|
}
|
||||||
this->Properties.SetProperty(prop, value, cmProperty::TARGET);
|
this->Properties.SetProperty(prop, value, cmProperty::TARGET);
|
||||||
this->MaybeInvalidatePropertyCache(prop);
|
this->MaybeInvalidatePropertyCache(prop);
|
||||||
|
@ -3103,15 +3104,11 @@ void cmTarget::AppendProperty(const char* prop, const char* value,
|
||||||
}
|
}
|
||||||
if (strcmp(prop, "LINK_LIBRARIES") == 0)
|
if (strcmp(prop, "LINK_LIBRARIES") == 0)
|
||||||
{
|
{
|
||||||
if (cmGeneratorExpression::IsValidTargetName(value)
|
cmListFileBacktrace lfbt;
|
||||||
|| cmGeneratorExpression::Find(value) != std::string::npos)
|
this->Makefile->GetBacktrace(lfbt);
|
||||||
{
|
cmValueWithOrigin entry(value, lfbt);
|
||||||
cmListFileBacktrace lfbt;
|
this->Internal->LinkInterfacePropertyEntries.push_back(entry);
|
||||||
this->Makefile->GetBacktrace(lfbt);
|
return;
|
||||||
cmValueWithOrigin entry(value, lfbt);
|
|
||||||
this->Internal->LinkInterfacePropertyEntries.push_back(entry);
|
|
||||||
}
|
|
||||||
// Fall through
|
|
||||||
}
|
}
|
||||||
this->Properties.AppendProperty(prop, value, cmProperty::TARGET, asString);
|
this->Properties.AppendProperty(prop, value, cmProperty::TARGET, asString);
|
||||||
this->MaybeInvalidatePropertyCache(prop);
|
this->MaybeInvalidatePropertyCache(prop);
|
||||||
|
@ -3391,6 +3388,11 @@ std::vector<std::string> cmTarget::GetIncludeDirectories(const char *config)
|
||||||
end = this->Internal->LinkInterfacePropertyEntries.end();
|
end = this->Internal->LinkInterfacePropertyEntries.end();
|
||||||
it != end; ++it)
|
it != end; ++it)
|
||||||
{
|
{
|
||||||
|
if (!cmGeneratorExpression::IsValidTargetName(it->Value)
|
||||||
|
&& cmGeneratorExpression::Find(it->Value) == std::string::npos)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
cmGeneratorExpression ge(lfbt);
|
cmGeneratorExpression ge(lfbt);
|
||||||
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
|
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
|
||||||
|
@ -3589,6 +3591,11 @@ void cmTarget::GetCompileOptions(std::vector<std::string> &result,
|
||||||
end = this->Internal->LinkInterfacePropertyEntries.end();
|
end = this->Internal->LinkInterfacePropertyEntries.end();
|
||||||
it != end; ++it)
|
it != end; ++it)
|
||||||
{
|
{
|
||||||
|
if (!cmGeneratorExpression::IsValidTargetName(it->Value)
|
||||||
|
&& cmGeneratorExpression::Find(it->Value) == std::string::npos)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
cmGeneratorExpression ge(lfbt);
|
cmGeneratorExpression ge(lfbt);
|
||||||
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
|
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
|
||||||
|
@ -3697,6 +3704,11 @@ void cmTarget::GetCompileDefinitions(std::vector<std::string> &list,
|
||||||
end = this->Internal->LinkInterfacePropertyEntries.end();
|
end = this->Internal->LinkInterfacePropertyEntries.end();
|
||||||
it != end; ++it)
|
it != end; ++it)
|
||||||
{
|
{
|
||||||
|
if (!cmGeneratorExpression::IsValidTargetName(it->Value)
|
||||||
|
&& cmGeneratorExpression::Find(it->Value) == std::string::npos)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
cmGeneratorExpression ge(lfbt);
|
cmGeneratorExpression ge(lfbt);
|
||||||
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
|
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge =
|
||||||
|
@ -4185,6 +4197,22 @@ const char *cmTarget::GetProperty(const char* prop,
|
||||||
}
|
}
|
||||||
return output.c_str();
|
return output.c_str();
|
||||||
}
|
}
|
||||||
|
if(strcmp(prop,"LINK_LIBRARIES") == 0)
|
||||||
|
{
|
||||||
|
static std::string output;
|
||||||
|
output = "";
|
||||||
|
std::string sep;
|
||||||
|
for (std::vector<cmValueWithOrigin>::const_iterator
|
||||||
|
it = this->Internal->LinkInterfacePropertyEntries.begin(),
|
||||||
|
end = this->Internal->LinkInterfacePropertyEntries.end();
|
||||||
|
it != end; ++it)
|
||||||
|
{
|
||||||
|
output += sep;
|
||||||
|
output += it->Value;
|
||||||
|
sep = ";";
|
||||||
|
}
|
||||||
|
return output.c_str();
|
||||||
|
}
|
||||||
|
|
||||||
if (strcmp(prop,"IMPORTED") == 0)
|
if (strcmp(prop,"IMPORTED") == 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue