cmExportFileGenerator: Evaluate genex with cmGeneratorTarget.
This commit is contained in:
parent
f2791da132
commit
48f8b6acf3
@ -436,7 +436,9 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
|
|||||||
ImportPropertyMap &properties,
|
ImportPropertyMap &properties,
|
||||||
std::vector<std::string> &missingTargets)
|
std::vector<std::string> &missingTargets)
|
||||||
{
|
{
|
||||||
cmTarget *target = tei->Target;
|
cmGeneratorTarget *target = tei->Target->GetMakefile()
|
||||||
|
->GetGlobalGenerator()
|
||||||
|
->GetGeneratorTarget(tei->Target);
|
||||||
assert(preprocessRule == cmGeneratorExpression::InstallInterface);
|
assert(preprocessRule == cmGeneratorExpression::InstallInterface);
|
||||||
|
|
||||||
const char *propName = "INTERFACE_INCLUDE_DIRECTORIES";
|
const char *propName = "INTERFACE_INCLUDE_DIRECTORIES";
|
||||||
@ -450,12 +452,12 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
|
|||||||
true);
|
true);
|
||||||
this->ReplaceInstallPrefix(dirs);
|
this->ReplaceInstallPrefix(dirs);
|
||||||
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(dirs);
|
cmsys::auto_ptr<cmCompiledGeneratorExpression> cge = ge.Parse(dirs);
|
||||||
std::string exportDirs = cge->Evaluate(target->GetMakefile(), "",
|
std::string exportDirs = cge->Evaluate(target->Target->GetMakefile(), "",
|
||||||
false, target);
|
false, target->Target);
|
||||||
|
|
||||||
if (cge->GetHadContextSensitiveCondition())
|
if (cge->GetHadContextSensitiveCondition())
|
||||||
{
|
{
|
||||||
cmMakefile* mf = target->GetMakefile();
|
cmMakefile* mf = target->Target->GetMakefile();
|
||||||
std::ostringstream e;
|
std::ostringstream e;
|
||||||
e << "Target \"" << target->GetName() << "\" is installed with "
|
e << "Target \"" << target->GetName() << "\" is installed with "
|
||||||
"INCLUDES DESTINATION set to a context sensitive path. Paths which "
|
"INCLUDES DESTINATION set to a context sensitive path. Paths which "
|
||||||
@ -486,10 +488,10 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
|
|||||||
true);
|
true);
|
||||||
if (!prepro.empty())
|
if (!prepro.empty())
|
||||||
{
|
{
|
||||||
this->ResolveTargetsInGeneratorExpressions(prepro, target,
|
this->ResolveTargetsInGeneratorExpressions(prepro, target->Target,
|
||||||
missingTargets);
|
missingTargets);
|
||||||
|
|
||||||
if (!checkInterfaceDirs(prepro, target, propName))
|
if (!checkInterfaceDirs(prepro, target->Target, propName))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user