diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2007-05-10 14:05:36 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2007-05-10 14:05:36 (GMT) |
commit | 3e3413dadc3986d2f35cf6a8233125225bee2455 (patch) | |
tree | b967e206d4378f12d8b8fa3fa99969d2f46ff456 /Source/cmGlobalXCodeGenerator.cxx | |
parent | d4193542509722b169d33ddd5a8d081522bd789c (diff) | |
download | CMake-3e3413dadc3986d2f35cf6a8233125225bee2455.zip CMake-3e3413dadc3986d2f35cf6a8233125225bee2455.tar.gz CMake-3e3413dadc3986d2f35cf6a8233125225bee2455.tar.bz2 |
ENH: fix for move of trace depends
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
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<cmStdString, std::vector<cmLocalGenerator*> >::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); } |