Browse Source

Merge topic 'cmGeneratorTarget-exports'

d945b36a cmExportTryCompileFileGenerator: Evaluate genex with cmGeneratorTarget.
48f8b6ac cmExportFileGenerator: Evaluate genex with cmGeneratorTarget.
Brad King 10 years ago
parent
commit
256bf8876a
2 changed files with 14 additions and 8 deletions
  1. 8 6
      Source/cmExportFileGenerator.cxx
  2. 6 2
      Source/cmExportTryCompileFileGenerator.cxx

+ 8 - 6
Source/cmExportFileGenerator.cxx

@@ -436,7 +436,9 @@ void cmExportFileGenerator::PopulateIncludeDirectoriesInterface(
                       ImportPropertyMap &properties,
                       std::vector<std::string> &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<cmCompiledGeneratorExpression> 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;
       }

+ 6 - 2
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<cmTarget const*> &allTargets = cge->GetAllTargetsSeen();
   for(std::set<cmTarget const*>::const_iterator li = allTargets.begin();