Ken Martin 23 лет назад
Родитель
Сommit
d2c4432bbe
3 измененных файлов с 17 добавлено и 0 удалено
  1. 7 0
      Source/cmGlobalGenerator.cxx
  2. 5 0
      Source/cmLocalGenerator.cxx
  3. 5 0
      Source/cmLocalGenerator.h

+ 7 - 0
Source/cmGlobalGenerator.cxx

@@ -70,6 +70,12 @@ void cmGlobalGenerator::Configure()
   
   // now do it
   this->RecursiveConfigure(lg);
+
+  // after it is all done do a ConfigureFinalPass
+  for (i = 0; i < m_LocalGenerators.size(); ++i)
+    {
+    m_LocalGenerators[i]->ConfigureFinalPass();
+    }
 }
 
 // loop through the directories creating cmLocalGenerators and Configure()
@@ -129,6 +135,7 @@ void cmGlobalGenerator::LocalGenerate()
   
   // now do trhe configure
   lg->Configure();
+  lg->ConfigureFinalPass();
   lg->Generate(false);
   delete lg;
 }

+ 5 - 0
Source/cmLocalGenerator.cxx

@@ -48,3 +48,8 @@ void cmLocalGenerator::SetGlobalGenerator(cmGlobalGenerator *gg)
   m_Makefile->SetHomeOutputDirectory(
     gg->GetCMakeInstance()->GetHomeOutputDirectory());
 }
+
+void cmLocalGenerator::ConfigureFinalPass()
+{ 
+  m_Makefile->ConfigureFinalPass(); 
+}

+ 5 - 0
Source/cmLocalGenerator.h

@@ -50,6 +50,11 @@ public:
    */
   virtual void Configure();
 
+  /**
+   * Perform any final calculations prior to generation
+   */
+  virtual void ConfigureFinalPass();
+
   ///! Get the makefile for this generator
   cmMakefile *GetMakefile() {
     return this->m_Makefile; };