From 48f8b6acf3a8083b5a52bbe1ec3adc10c515d710 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 16 Sep 2015 01:07:03 +0200 Subject: [PATCH 1/2] cmExportFileGenerator: Evaluate genex with cmGeneratorTarget. --- Source/cmExportFileGenerator.cxx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index 9a7d73f4b..881aceee7 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -436,7 +436,9 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface( ImportPropertyMap &properties, std::vector &missingTargets) { - cmTarget *target = tei->Target; + cmGeneratorTarget *target = tei->Target->GetMakefile() + ->GetGlobalGenerator() + ->GetGeneratorTarget(tei->Target); assert(preprocessRule == cmGeneratorExpression::InstallInterface); const char *propName = "INTERFACE_INCLUDE_DIRECTORIES"; @@ -450,12 +452,12 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface( true); this->ReplaceInstallPrefix(dirs); cmsys::auto_ptr cge = ge.Parse(dirs); - std::string exportDirs = cge->Evaluate(target->GetMakefile(), "", - false, target); + std::string exportDirs = cge->Evaluate(target->Target->GetMakefile(), "", + false, target->Target); if (cge->GetHadContextSensitiveCondition()) { - cmMakefile* mf = target->GetMakefile(); + cmMakefile* mf = target->Target->GetMakefile(); std::ostringstream e; e << "Target \"" << target->GetName() << "\" is installed with " "INCLUDES DESTINATION set to a context sensitive path. Paths which " @@ -486,10 +488,10 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface( true); if (!prepro.empty()) { - this->ResolveTargetsInGeneratorExpressions(prepro, target, + this->ResolveTargetsInGeneratorExpressions(prepro, target->Target, missingTargets); - if (!checkInterfaceDirs(prepro, target, propName)) + if (!checkInterfaceDirs(prepro, target->Target, propName)) { return; } From d945b36a93ab9f935c4e369d5c75be8b47d48f7a Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Wed, 16 Sep 2015 01:08:49 +0200 Subject: [PATCH 2/2] cmExportTryCompileFileGenerator: Evaluate genex with cmGeneratorTarget. --- Source/cmExportTryCompileFileGenerator.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/cmExportTryCompileFileGenerator.cxx b/Source/cmExportTryCompileFileGenerator.cxx index ba66531fd..026584c84 100644 --- a/Source/cmExportTryCompileFileGenerator.cxx +++ b/Source/cmExportTryCompileFileGenerator.cxx @@ -76,8 +76,12 @@ std::string cmExportTryCompileFileGenerator::FindTargets( dummyHead.SetType(cmTarget::EXECUTABLE, "try_compile_dummy_exe"); dummyHead.SetMakefile(tgt->GetMakefile()); - std::string result = cge->Evaluate(tgt->GetMakefile(), this->Config, - false, &dummyHead, tgt, &dagChecker); + cmGeneratorTarget* gtgt = + tgt->GetMakefile()->GetGlobalGenerator()->GetGeneratorTarget(tgt); + + std::string result = cge->Evaluate(gtgt->Target->GetMakefile(), this->Config, + false, &dummyHead, + gtgt->Target, &dagChecker); const std::set &allTargets = cge->GetAllTargetsSeen(); for(std::set::const_iterator li = allTargets.begin();