From 3e3413dadc3986d2f35cf6a8233125225bee2455 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Thu, 10 May 2007 10:05:36 -0400 Subject: ENH: fix for move of trace depends --- Source/cmGlobalXCodeGenerator.cxx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index d7069c2..a019100 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -223,8 +223,9 @@ cmLocalGenerator *cmGlobalXCodeGenerator::CreateLocalGenerator() //---------------------------------------------------------------------------- void cmGlobalXCodeGenerator::Generate() { - this->cmGlobalGenerator::Generate(); std::map >::iterator it; + // make sure extra targets are added before calling + // the parent generate which will call trace depends for(it = this->ProjectMap.begin(); it!= this->ProjectMap.end(); ++it) { cmLocalGenerator* root = it->second[0]; @@ -238,6 +239,19 @@ void cmGlobalXCodeGenerator::Generate() this->CurrentLocalGenerator = root; // add ALL_BUILD, INSTALL, etc this->AddExtraTargets(root, it->second); + } + this->cmGlobalGenerator::Generate(); + for(it = this->ProjectMap.begin(); it!= this->ProjectMap.end(); ++it) + { + cmLocalGenerator* root = it->second[0]; + this->CurrentProject = root->GetMakefile()->GetProjectName(); + this->SetCurrentLocalGenerator(root); + this->OutputDir = this->CurrentMakefile->GetHomeOutputDirectory(); + this->OutputDir = + cmSystemTools::CollapseFullPath(this->OutputDir.c_str()); + cmSystemTools::SplitPath(this->OutputDir.c_str(), + this->ProjectOutputDirectoryComponents); + this->CurrentLocalGenerator = root; // now create the project this->OutputXCodeProject(root, it->second); } -- cgit v0.12