[cmake-commits] hoffman committed cmGlobalXCodeGenerator.cxx 1.146 1.147

cmake-commits at cmake.org cmake-commits at cmake.org
Thu May 10 10:05:38 EDT 2007


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv18558/Source

Modified Files:
	cmGlobalXCodeGenerator.cxx 
Log Message:
ENH: fix for move of trace depends


Index: cmGlobalXCodeGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmGlobalXCodeGenerator.cxx,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -d -r1.146 -r1.147
--- cmGlobalXCodeGenerator.cxx	9 May 2007 14:28:32 -0000	1.146
+++ cmGlobalXCodeGenerator.cxx	10 May 2007 14:05:36 -0000	1.147
@@ -223,8 +223,9 @@
 //----------------------------------------------------------------------------
 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 @@
     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);
     }



More information about the Cmake-commits mailing list