[Cmake-commits] CMake branch, next, updated. v3.2.3-1463-g8af6a3f

Brad King brad.king at kitware.com
Thu Jun 4 09:07:31 EDT 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  8af6a3f58bcf8d9b6b6754e80d3f82b3d29ec896 (commit)
       via  7657e8b1df64ed3b5429be34416e8756b659d525 (commit)
       via  4e8f242d170ab46d4071254a3a81f7db264b8bc7 (commit)
       via  d65e01235da2473e669d6e5c40988ad4015f0dc4 (commit)
       via  f059ed165bafff94f9bcd3823e12a8ce1f5ec647 (commit)
       via  a653611db0d6e23456c5ef90f95e19ea5d70a428 (commit)
       via  69a038a9e90a8839b69f4cb8826688be611e8b0d (commit)
       via  0863797037b82f01cb356cb2cd4cdcef7ca8ae48 (commit)
       via  27e11c6fea8e863b59c0fdfd63f1e9f2528dbac4 (commit)
       via  363caa2fa540190ea394122fca3cb72d951823ad (commit)
       via  6e570f857acd3322640db72112f2dc37b69396cf (commit)
      from  c4cf686c9c5fe59e79ef0bb0e706c70748fd62cd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8af6a3f58bcf8d9b6b6754e80d3f82b3d29ec896
commit 8af6a3f58bcf8d9b6b6754e80d3f82b3d29ec896
Merge: c4cf686 7657e8b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Jun 4 09:07:09 2015 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:07:09 2015 -0400

    Merge branch 'cmMakefile-Configure' into next


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7657e8b1df64ed3b5429be34416e8756b659d525
commit 7657e8b1df64ed3b5429be34416e8756b659d525
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jun 3 00:57:31 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:42 2015 -0400

    cmMakefile: Introduce a local cmMakefile variable.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index ae9fe32..7e103bc 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1685,21 +1685,23 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
         ->MakeLocalGenerator(newSnapshot, this->LocalGenerator);
   this->GetGlobalGenerator()->AddLocalGenerator(lg2);
 
+  cmMakefile* subMf = lg2->GetMakefile();
+
   // set the subdirs start dirs
-  lg2->GetMakefile()->SetCurrentSourceDirectory(srcPath);
-  lg2->GetMakefile()->SetCurrentBinaryDirectory(binPath);
+  subMf->SetCurrentSourceDirectory(srcPath);
+  subMf->SetCurrentBinaryDirectory(binPath);
   if(excludeFromAll)
     {
-    lg2->GetMakefile()->SetProperty("EXCLUDE_FROM_ALL", "TRUE");
+    subMf->SetProperty("EXCLUDE_FROM_ALL", "TRUE");
     }
 
   if (immediate)
     {
-    this->ConfigureSubDirectory(lg2->GetMakefile());
+    this->ConfigureSubDirectory(subMf);
     }
   else
     {
-    this->UnConfiguredDirectories.push_back(lg2->GetMakefile());
+    this->UnConfiguredDirectories.push_back(subMf);
     }
 }
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4e8f242d170ab46d4071254a3a81f7db264b8bc7
commit 4e8f242d170ab46d4071254a3a81f7db264b8bc7
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Jun 3 00:55:00 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:42 2015 -0400

    cmMakefile: Store unconfigured cmMakefiles.
    
    Not cmLocalGenerators.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 4079ccf..ae9fe32 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1598,13 +1598,13 @@ void cmMakefile::Configure()
   this->ProcessBuildsystemFile(currentStart.c_str());
 
    // at the end handle any old style subdirs
-  std::vector<cmLocalGenerator*> subdirs = this->UnConfiguredDirectories;
+  std::vector<cmMakefile*> subdirs = this->UnConfiguredDirectories;
 
   // for each subdir recurse
-  std::vector<cmLocalGenerator*>::iterator sdi = subdirs.begin();
+  std::vector<cmMakefile*>::iterator sdi = subdirs.begin();
   for (; sdi != subdirs.end(); ++sdi)
     {
-    this->ConfigureSubDirectory((*sdi)->GetMakefile());
+    this->ConfigureSubDirectory(*sdi);
     }
 
   this->AddCMakeDependFilesFromUser();
@@ -1699,7 +1699,7 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
     }
   else
     {
-    this->UnConfiguredDirectories.push_back(lg2);
+    this->UnConfiguredDirectories.push_back(lg2->GetMakefile());
     }
 }
 
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 5807707..4174f44 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -922,7 +922,7 @@ private:
   mutable cmsys::RegularExpression cmAtVarRegex;
   mutable cmsys::RegularExpression cmNamedCurly;
 
-  std::vector<cmLocalGenerator*> UnConfiguredDirectories;
+  std::vector<cmMakefile*> UnConfiguredDirectories;
 
   cmPropertyMap Properties;
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d65e01235da2473e669d6e5c40988ad4015f0dc4
commit d65e01235da2473e669d6e5c40988ad4015f0dc4
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 19:53:02 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:42 2015 -0400

    cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 05e80d7..4079ccf 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1604,17 +1604,17 @@ void cmMakefile::Configure()
   std::vector<cmLocalGenerator*>::iterator sdi = subdirs.begin();
   for (; sdi != subdirs.end(); ++sdi)
     {
-    this->ConfigureSubDirectory(*sdi);
+    this->ConfigureSubDirectory((*sdi)->GetMakefile());
     }
 
   this->AddCMakeDependFilesFromUser();
   this->SetConfigured();
 }
 
-void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
+void cmMakefile::ConfigureSubDirectory(cmMakefile *mf)
 {
-  lg2->GetMakefile()->InitializeFromParent();
-  std::string currentStart = lg2->GetMakefile()->GetCurrentSourceDirectory();
+  mf->InitializeFromParent();
+  std::string currentStart = mf->GetCurrentSourceDirectory();
   if (this->GetCMakeInstance()->GetDebugOutput())
     {
     std::string msg="   Entering             ";
@@ -1652,11 +1652,11 @@ void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
         // NEW behavior prints the error.
         this->IssueMessage(cmake::FATAL_ERROR, e.str());
       }
-    lg2->GetMakefile()->SetConfigured();
+    mf->SetConfigured();
     return;
     }
   // finally configure the subdir
-  lg2->GetMakefile()->Configure();
+  mf->Configure();
 
   if (this->GetCMakeInstance()->GetDebugOutput())
     {
@@ -1695,7 +1695,7 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
 
   if (immediate)
     {
-    this->ConfigureSubDirectory(lg2);
+    this->ConfigureSubDirectory(lg2->GetMakefile());
     }
   else
     {
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index e36df36..5807707 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -275,7 +275,7 @@ public:
   /**
    * Configure a subdirectory
    */
-  void ConfigureSubDirectory(cmLocalGenerator *);
+  void ConfigureSubDirectory(cmMakefile* mf);
 
   /**
    * Add an include directory to the build.

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f059ed165bafff94f9bcd3823e12a8ce1f5ec647
commit f059ed165bafff94f9bcd3823e12a8ce1f5ec647
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 19:50:58 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:41 2015 -0400

    cmMakefile: Move Configure responsibility from cmLocalGenerator.
    
    The generator should only have a function at generate time.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 1ee5500..1d11475 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1106,7 +1106,7 @@ void cmGlobalGenerator::Configure()
       this->CMakeInstance->GetHomeOutputDirectory());
 
   // now do it
-  lg->Configure();
+  lg->GetMakefile()->Configure();
 
   // update the cache entry for the number of local generators, this is used
   // for progress
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 4b9415b..8fcc2ec 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -75,68 +75,6 @@ bool cmLocalGenerator::IsRootMakefile() const
 }
 
 //----------------------------------------------------------------------------
-class cmLocalGeneratorCurrent
-{
-  cmGlobalGenerator* GG;
-  cmMakefile* MF;
-  cmState::Snapshot Snapshot;
-public:
-  cmLocalGeneratorCurrent(cmMakefile* mf)
-    {
-    this->GG = mf->GetGlobalGenerator();
-    this->MF = this->GG->GetCurrentMakefile();
-    this->Snapshot = this->GG->GetCMakeInstance()->GetCurrentSnapshot();
-    this->GG->GetCMakeInstance()->SetCurrentSnapshot(
-          this->GG->GetCMakeInstance()->GetCurrentSnapshot());
-    this->GG->SetCurrentMakefile(mf);
-#if defined(CMAKE_BUILD_WITH_CMAKE)
-    this->GG->GetFileLockPool().PushFileScope();
-#endif
-    }
-  ~cmLocalGeneratorCurrent()
-    {
-#if defined(CMAKE_BUILD_WITH_CMAKE)
-    this->GG->GetFileLockPool().PopFileScope();
-#endif
-    this->GG->SetCurrentMakefile(this->MF);
-    this->GG->GetCMakeInstance()->SetCurrentSnapshot(this->Snapshot);
-    }
-};
-
-//----------------------------------------------------------------------------
-void cmLocalGenerator::Configure()
-{
-  // Manage the global generator's current local generator.
-  cmLocalGeneratorCurrent clg(this->GetMakefile());
-  static_cast<void>(clg);
-
-  // make sure the CMakeFiles dir is there
-  std::string filesDir = this->StateSnapshot.GetCurrentBinaryDirectory();
-  filesDir += cmake::GetCMakeFilesDirectory();
-  cmSystemTools::MakeDirectory(filesDir.c_str());
-
-  std::string currentStart = this->StateSnapshot.GetCurrentSourceDirectory();
-  currentStart += "/CMakeLists.txt";
-  assert(cmSystemTools::FileExists(currentStart.c_str(), true));
-  this->Makefile->ProcessBuildsystemFile(currentStart.c_str());
-
-   // at the end handle any old style subdirs
-  std::vector<cmLocalGenerator *> subdirs =
-      this->GetMakefile()->GetUnConfiguredDirectories();
-
-  // for each subdir recurse
-  std::vector<cmLocalGenerator *>::iterator sdi = subdirs.begin();
-  for (; sdi != subdirs.end(); ++sdi)
-    {
-    this->Makefile->ConfigureSubDirectory(*sdi);
-    }
-
-  this->Makefile->AddCMakeDependFilesFromUser();
-
-  this->Makefile->SetConfigured();
-}
-
-//----------------------------------------------------------------------------
 void cmLocalGenerator::ComputeObjectMaxPath()
 {
   // Choose a maximum object file name length.
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index c972e8f..1359dd6 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -47,12 +47,6 @@ public:
   virtual void Generate() {}
 
   /**
-   * Process the CMakeLists files for this directory to fill in the
-   * Makefile ivar
-   */
-  void Configure();
-
-  /**
    * Calls TraceVSDependencies() on all targets of this generator.
    */
   void TraceDependencies();
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index ffc6bf9..05e80d7 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1553,6 +1553,64 @@ void cmMakefile::InitializeFromParent()
   this->ImportedTargets = parent->ImportedTargets;
 }
 
+//----------------------------------------------------------------------------
+class cmMakefileCurrent
+{
+  cmGlobalGenerator* GG;
+  cmMakefile* MF;
+  cmState::Snapshot Snapshot;
+public:
+  cmMakefileCurrent(cmMakefile* mf)
+    {
+    this->GG = mf->GetGlobalGenerator();
+    this->MF = this->GG->GetCurrentMakefile();
+    this->Snapshot = this->GG->GetCMakeInstance()->GetCurrentSnapshot();
+    this->GG->GetCMakeInstance()->SetCurrentSnapshot(
+          this->GG->GetCMakeInstance()->GetCurrentSnapshot());
+    this->GG->SetCurrentMakefile(mf);
+#if defined(CMAKE_BUILD_WITH_CMAKE)
+    this->GG->GetFileLockPool().PushFileScope();
+#endif
+    }
+  ~cmMakefileCurrent()
+    {
+#if defined(CMAKE_BUILD_WITH_CMAKE)
+    this->GG->GetFileLockPool().PopFileScope();
+#endif
+    this->GG->SetCurrentMakefile(this->MF);
+    this->GG->GetCMakeInstance()->SetCurrentSnapshot(this->Snapshot);
+    }
+};
+
+//----------------------------------------------------------------------------
+void cmMakefile::Configure()
+{
+  cmMakefileCurrent cmf(this);
+
+  // make sure the CMakeFiles dir is there
+  std::string filesDir = this->StateSnapshot.GetCurrentBinaryDirectory();
+  filesDir += cmake::GetCMakeFilesDirectory();
+  cmSystemTools::MakeDirectory(filesDir.c_str());
+
+  std::string currentStart = this->StateSnapshot.GetCurrentSourceDirectory();
+  currentStart += "/CMakeLists.txt";
+  assert(cmSystemTools::FileExists(currentStart.c_str(), true));
+  this->ProcessBuildsystemFile(currentStart.c_str());
+
+   // at the end handle any old style subdirs
+  std::vector<cmLocalGenerator*> subdirs = this->UnConfiguredDirectories;
+
+  // for each subdir recurse
+  std::vector<cmLocalGenerator*>::iterator sdi = subdirs.begin();
+  for (; sdi != subdirs.end(); ++sdi)
+    {
+    this->ConfigureSubDirectory(*sdi);
+    }
+
+  this->AddCMakeDependFilesFromUser();
+  this->SetConfigured();
+}
+
 void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
 {
   lg2->GetMakefile()->InitializeFromParent();
@@ -1598,15 +1656,7 @@ void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
     return;
     }
   // finally configure the subdir
-  lg2->Configure();
-
-  // at the end handle any old style subdirs
-  for (std::vector<cmLocalGenerator *>::iterator sdi =
-       this->UnConfiguredDirectories.begin();
-       sdi != this->UnConfiguredDirectories.end(); ++sdi)
-    {
-    this->ConfigureSubDirectory(*sdi);
-    }
+  lg2->GetMakefile()->Configure();
 
   if (this->GetCMakeInstance()->GetDebugOutput())
     {
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 509f5c8..e36df36 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -262,11 +262,6 @@ public:
       this->LinkDirectories = vec;
     }
 
-  std::vector<cmLocalGenerator*> GetUnConfiguredDirectories() const
-  {
-    return this->UnConfiguredDirectories;
-  }
-
   /**
    * Add a subdirectory to the build.
    */
@@ -275,6 +270,8 @@ public:
                        bool excludeFromAll,
                        bool immediate);
 
+  void Configure();
+
   /**
    * Configure a subdirectory
    */

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a653611db0d6e23456c5ef90f95e19ea5d70a428
commit a653611db0d6e23456c5ef90f95e19ea5d70a428
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 23:50:28 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:41 2015 -0400

    cmake: Replace CurrentLocalGenerator concept with CurrentMakefile.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index d1842c1..1ee5500 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -70,7 +70,7 @@ cmGlobalGenerator::cmGlobalGenerator(cmake* cm)
   this->TryCompileTimeout = 0;
 
   this->ExtraGenerator = 0;
-  this->CurrentLocalGenerator = 0;
+  this->CurrentMakefile = 0;
   this->TryCompileOuterMakefile = 0;
 }
 
@@ -1281,7 +1281,7 @@ void cmGlobalGenerator::Generate()
   // Generate project files
   for (i = 0; i < this->LocalGenerators.size(); ++i)
     {
-    this->SetCurrentLocalGenerator(this->LocalGenerators[i]);
+    this->SetCurrentMakefile(this->LocalGenerators[i]->GetMakefile());
     this->LocalGenerators[i]->Generate();
     if(!this->LocalGenerators[i]->GetMakefile()->IsOn(
       "CMAKE_SKIP_INSTALL_RULES"))
@@ -1293,7 +1293,7 @@ void cmGlobalGenerator::Generate()
       (static_cast<float>(i)+1.0f)/
        static_cast<float>(this->LocalGenerators.size()));
     }
-  this->SetCurrentLocalGenerator(0);
+  this->SetCurrentMakefile(0);
 
   if(!this->GenerateCPackPropertiesFile())
     {
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 979e971..d2b8504 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -168,11 +168,13 @@ public:
   const std::vector<cmLocalGenerator *>& GetLocalGenerators() const {
     return this->LocalGenerators;}
 
-  cmLocalGenerator* GetCurrentLocalGenerator()
-                                          {return this->CurrentLocalGenerator;}
+  cmMakefile* GetCurrentMakefile() const
+  {
+    return this->CurrentMakefile;
+  }
 
-  void SetCurrentLocalGenerator(cmLocalGenerator* lg)
-                                            {this->CurrentLocalGenerator = lg;}
+  void SetCurrentMakefile(cmMakefile* mf)
+  {this->CurrentMakefile = mf;}
 
   void AddLocalGenerator(cmLocalGenerator *lg);
 
@@ -406,7 +408,7 @@ protected:
   std::string ConfiguredFilesPath;
   cmake *CMakeInstance;
   std::vector<cmLocalGenerator *> LocalGenerators;
-  cmLocalGenerator* CurrentLocalGenerator;
+  cmMakefile* CurrentMakefile;
   // map from project name to vector of local generators in that project
   std::map<std::string, std::vector<cmLocalGenerator*> > ProjectMap;
   std::map<cmLocalGenerator*, std::set<cmTarget const*> >
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 58366d1..4b9415b 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -78,16 +78,17 @@ bool cmLocalGenerator::IsRootMakefile() const
 class cmLocalGeneratorCurrent
 {
   cmGlobalGenerator* GG;
-  cmLocalGenerator* LG;
+  cmMakefile* MF;
   cmState::Snapshot Snapshot;
 public:
-  cmLocalGeneratorCurrent(cmLocalGenerator* lg)
+  cmLocalGeneratorCurrent(cmMakefile* mf)
     {
-    this->GG = lg->GetGlobalGenerator();
-    this->LG = this->GG->GetCurrentLocalGenerator();
+    this->GG = mf->GetGlobalGenerator();
+    this->MF = this->GG->GetCurrentMakefile();
     this->Snapshot = this->GG->GetCMakeInstance()->GetCurrentSnapshot();
-    this->GG->GetCMakeInstance()->SetCurrentSnapshot(lg->GetStateSnapshot());
-    this->GG->SetCurrentLocalGenerator(lg);
+    this->GG->GetCMakeInstance()->SetCurrentSnapshot(
+          this->GG->GetCMakeInstance()->GetCurrentSnapshot());
+    this->GG->SetCurrentMakefile(mf);
 #if defined(CMAKE_BUILD_WITH_CMAKE)
     this->GG->GetFileLockPool().PushFileScope();
 #endif
@@ -97,7 +98,7 @@ public:
 #if defined(CMAKE_BUILD_WITH_CMAKE)
     this->GG->GetFileLockPool().PopFileScope();
 #endif
-    this->GG->SetCurrentLocalGenerator(this->LG);
+    this->GG->SetCurrentMakefile(this->MF);
     this->GG->GetCMakeInstance()->SetCurrentSnapshot(this->Snapshot);
     }
 };
@@ -106,7 +107,7 @@ public:
 void cmLocalGenerator::Configure()
 {
   // Manage the global generator's current local generator.
-  cmLocalGeneratorCurrent clg(this);
+  cmLocalGeneratorCurrent clg(this->GetMakefile());
   static_cast<void>(clg);
 
   // make sure the CMakeFiles dir is there
diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx
index cbb06cd..fbd2946 100644
--- a/Source/cmQtAutoGenerators.cxx
+++ b/Source/cmQtAutoGenerators.cxx
@@ -1215,7 +1215,7 @@ bool cmQtAutoGenerators::Run(const std::string& targetDirectory,
   cmLocalGenerator* lg = gg.MakeLocalGenerator();
   lg->GetMakefile()->SetCurrentBinaryDirectory(targetDirectory);
   lg->GetMakefile()->SetCurrentSourceDirectory(targetDirectory);
-  gg.SetCurrentLocalGenerator(lg);
+  gg.SetCurrentMakefile(lg->GetMakefile());
 
   this->ReadAutogenInfoFile(lg->GetMakefile(), targetDirectory, config);
   this->ReadOldMocDefinitionsFile(lg->GetMakefile(), targetDirectory);
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index e5f4700..cc30732 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -113,12 +113,7 @@ static cmMakefile* cmakemainGetMakefile(void *clientdata)
     cmGlobalGenerator* gg=cm->GetGlobalGenerator();
     if (gg)
       {
-      cmLocalGenerator* lg=gg->GetCurrentLocalGenerator();
-      if (lg)
-        {
-        cmMakefile* mf = lg->GetMakefile();
-        return mf;
-        }
+      return gg->GetCurrentMakefile();
       }
     }
   return 0;

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=69a038a9e90a8839b69f4cb8826688be611e8b0d
commit 69a038a9e90a8839b69f4cb8826688be611e8b0d
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 19:39:08 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:41 2015 -0400

    cmMakefile: Refactor directories specified with the subdirs command.
    
    Store the directories on the cmMakefile as explicitly not-configured-yet.

diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 8931e6f..58366d1 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -119,18 +119,15 @@ void cmLocalGenerator::Configure()
   assert(cmSystemTools::FileExists(currentStart.c_str(), true));
   this->Makefile->ProcessBuildsystemFile(currentStart.c_str());
 
-  // at the end of the ReadListFile handle any old style subdirs
-  // first get all the subdirectories
-  std::vector<cmLocalGenerator *> subdirs = this->GetChildren();
+   // at the end handle any old style subdirs
+  std::vector<cmLocalGenerator *> subdirs =
+      this->GetMakefile()->GetUnConfiguredDirectories();
 
   // for each subdir recurse
   std::vector<cmLocalGenerator *>::iterator sdi = subdirs.begin();
   for (; sdi != subdirs.end(); ++sdi)
     {
-    if (!(*sdi)->GetMakefile()->IsConfigured())
-      {
-      this->Makefile->ConfigureSubDirectory(*sdi);
-      }
+    this->Makefile->ConfigureSubDirectory(*sdi);
     }
 
   this->Makefile->AddCMakeDependFilesFromUser();
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index d537f34..ffc6bf9 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -1599,6 +1599,15 @@ void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
     }
   // finally configure the subdir
   lg2->Configure();
+
+  // at the end handle any old style subdirs
+  for (std::vector<cmLocalGenerator *>::iterator sdi =
+       this->UnConfiguredDirectories.begin();
+       sdi != this->UnConfiguredDirectories.end(); ++sdi)
+    {
+    this->ConfigureSubDirectory(*sdi);
+    }
+
   if (this->GetCMakeInstance()->GetDebugOutput())
     {
     std::string msg="   Returning to         ";
@@ -1638,6 +1647,10 @@ void cmMakefile::AddSubDirectory(const std::string& srcPath,
     {
     this->ConfigureSubDirectory(lg2);
     }
+  else
+    {
+    this->UnConfiguredDirectories.push_back(lg2);
+    }
 }
 
 void cmMakefile::SetCurrentSourceDirectory(const std::string& dir)
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index a45d837..509f5c8 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -262,6 +262,11 @@ public:
       this->LinkDirectories = vec;
     }
 
+  std::vector<cmLocalGenerator*> GetUnConfiguredDirectories() const
+  {
+    return this->UnConfiguredDirectories;
+  }
+
   /**
    * Add a subdirectory to the build.
    */
@@ -920,6 +925,8 @@ private:
   mutable cmsys::RegularExpression cmAtVarRegex;
   mutable cmsys::RegularExpression cmNamedCurly;
 
+  std::vector<cmLocalGenerator*> UnConfiguredDirectories;
+
   cmPropertyMap Properties;
 
   // Unused variable flags

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0863797037b82f01cb356cb2cd4cdcef7ca8ae48
commit 0863797037b82f01cb356cb2cd4cdcef7ca8ae48
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 19:34:09 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:41 2015 -0400

    cmLocalGenerator: ComputeObjectMaxPath just before generating.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 4fa7a61..d1842c1 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1223,6 +1223,7 @@ void cmGlobalGenerator::Generate()
   this->CreateDefaultGlobalTargets(&globalTargets);
   for (i = 0; i < this->LocalGenerators.size(); ++i)
     {
+    this->LocalGenerators[i]->ComputeObjectMaxPath();
     cmMakefile* mf = this->LocalGenerators[i]->GetMakefile();
     cmTargets* targets = &(mf->GetTargets());
     cmTargets::iterator tit;
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 6bebaa7..8931e6f 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -135,8 +135,6 @@ void cmLocalGenerator::Configure()
 
   this->Makefile->AddCMakeDependFilesFromUser();
 
-  this->ComputeObjectMaxPath();
-
   this->Makefile->SetConfigured();
 }
 
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 8a1649e..c972e8f 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -383,6 +383,7 @@ public:
   bool IsMinGWMake() const;
   bool IsNMake() const;
 
+  void ComputeObjectMaxPath();
 protected:
   ///! put all the libraries for a target on into the given stream
   void OutputLinkLibraries(std::string& linkLibraries,
@@ -428,7 +429,6 @@ protected:
 
   std::string& CreateSafeUniqueObjectFileName(const std::string& sin,
                                               std::string const& dir_max);
-  void ComputeObjectMaxPath();
 
   virtual std::string ConvertToLinkReference(std::string const& lib,
                                              OutputFormat format = SHELL);

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=27e11c6fea8e863b59c0fdfd63f1e9f2528dbac4
commit 27e11c6fea8e863b59c0fdfd63f1e9f2528dbac4
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 19:26:32 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:40 2015 -0400

    Merge Configure state with GeneratingBuildSystem state.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index cd05c54..4fa7a61 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1280,7 +1280,6 @@ void cmGlobalGenerator::Generate()
   // Generate project files
   for (i = 0; i < this->LocalGenerators.size(); ++i)
     {
-    this->LocalGenerators[i]->GetMakefile()->SetGeneratingBuildSystem();
     this->SetCurrentLocalGenerator(this->LocalGenerators[i]);
     this->LocalGenerators[i]->Generate();
     if(!this->LocalGenerators[i]->GetMakefile()->IsOn(
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index c686ab1..6bebaa7 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -59,7 +59,6 @@ cmLocalGenerator::cmLocalGenerator(cmGlobalGenerator* gg,
   this->Makefile = new cmMakefile(this);
 
   this->LinkScriptShell = false;
-  this->Configured = false;
   this->EmitUniversalBinaryFlags = true;
   this->BackwardsCompatibility = 0;
   this->BackwardsCompatibilityFinal = false;
@@ -128,7 +127,7 @@ void cmLocalGenerator::Configure()
   std::vector<cmLocalGenerator *>::iterator sdi = subdirs.begin();
   for (; sdi != subdirs.end(); ++sdi)
     {
-    if (!(*sdi)->Configured)
+    if (!(*sdi)->GetMakefile()->IsConfigured())
       {
       this->Makefile->ConfigureSubDirectory(*sdi);
       }
@@ -138,7 +137,7 @@ void cmLocalGenerator::Configure()
 
   this->ComputeObjectMaxPath();
 
-  this->Configured = true;
+  this->Makefile->SetConfigured();
 }
 
 //----------------------------------------------------------------------------
@@ -3179,11 +3178,6 @@ bool cmLocalGenerator::IsNMake() const
   return this->GetState()->UseNMake();
 }
 
-void cmLocalGenerator::SetConfiguredCMP0014(bool configured)
-{
-  this->Configured = configured;
-}
-
 //----------------------------------------------------------------------------
 std::string
 cmLocalGenerator
@@ -3465,7 +3459,7 @@ cmIML_INT_uint64_t cmLocalGenerator::GetBackwardsCompatibility()
         }
       }
     this->BackwardsCompatibility = CMake_VERSION_ENCODE(major, minor, patch);
-    this->BackwardsCompatibilityFinal = this->Configured;
+    this->BackwardsCompatibilityFinal = this->Makefile->IsConfigured();
     }
 
   return this->BackwardsCompatibility;
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index b635180..8a1649e 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -383,8 +383,6 @@ public:
   bool IsMinGWMake() const;
   bool IsNMake() const;
 
-  void SetConfiguredCMP0014(bool configured);
-
 protected:
   ///! put all the libraries for a target on into the given stream
   void OutputLinkLibraries(std::string& linkLibraries,
@@ -451,7 +449,6 @@ protected:
   std::set<cmTarget const*> WarnCMP0063;
 
   bool LinkScriptShell;
-  bool Configured;
   bool EmitUniversalBinaryFlags;
 
   // Hack for ExpandRuleVariable until object-oriented version is
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 7c74a0f..d537f34 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -146,7 +146,7 @@ cmMakefile::cmMakefile(cmLocalGenerator* localGenerator)
   this->WarnUnused = this->GetCMakeInstance()->GetWarnUnused();
   this->CheckSystemVars = this->GetCMakeInstance()->GetCheckSystemVars();
 
-  this->GeneratingBuildSystem = false;
+  this->Configured = false;
   this->SuppressWatches = false;
 
   // Setup the default include file regular expression (match everything).
@@ -1594,7 +1594,7 @@ void cmMakefile::ConfigureSubDirectory(cmLocalGenerator *lg2)
         // NEW behavior prints the error.
         this->IssueMessage(cmake::FATAL_ERROR, e.str());
       }
-    lg2->SetConfiguredCMP0014(true);
+    lg2->GetMakefile()->SetConfigured();
     return;
     }
   // finally configure the subdir
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index efd73a1..a45d837 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -781,8 +781,8 @@ public:
     return this->CompileDefinitionsEntries;
   }
 
-  bool IsGeneratingBuildSystem() const { return this->GeneratingBuildSystem; }
-  void SetGeneratingBuildSystem(){ this->GeneratingBuildSystem = true; }
+  bool IsConfigured() const { return this->Configured; }
+  void SetConfigured(){ this->Configured = true; }
 
   void AddQtUiFileWithOptions(cmSourceFile *sf);
   std::vector<cmSourceFile*> GetQtUiFilesWithOptions() const;
@@ -994,7 +994,7 @@ private:
                                   long line,
                                   bool removeEmpty,
                                   bool replaceAt) const;
-  bool GeneratingBuildSystem;
+  bool Configured;
   /**
    * Old version of GetSourceFileWithOutput(const std::string&) kept for
    * backward-compatibility. It implements a linear search and support
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 70005b4..1d1dced 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -764,7 +764,7 @@ void cmTarget::GetSourceFiles(std::vector<std::string> &files,
                                  "SOURCES")
                         != debugProperties.end();
 
-  if (this->Makefile->IsGeneratingBuildSystem())
+  if (this->Makefile->IsConfigured())
     {
     this->DebugSourcesDone = true;
     }
@@ -2106,7 +2106,7 @@ cmTarget::GetIncludeDirectories(const std::string& config,
                                  "INCLUDE_DIRECTORIES")
                         != debugProperties.end();
 
-  if (this->Makefile->IsGeneratingBuildSystem())
+  if (this->Makefile->IsConfigured())
     {
     this->DebugIncludesDone = true;
     }
@@ -2277,7 +2277,7 @@ void cmTarget::GetCompileOptions(std::vector<std::string> &result,
                                  "COMPILE_OPTIONS")
                         != debugProperties.end();
 
-  if (this->Makefile->IsGeneratingBuildSystem())
+  if (this->Makefile->IsConfigured())
     {
     this->DebugCompileOptionsDone = true;
     }
@@ -2348,7 +2348,7 @@ void cmTarget::GetCompileDefinitions(std::vector<std::string> &list,
                                 "COMPILE_DEFINITIONS")
                         != debugProperties.end();
 
-  if (this->Makefile->IsGeneratingBuildSystem())
+  if (this->Makefile->IsConfigured())
     {
     this->DebugCompileDefinitionsDone = true;
     }
@@ -2449,7 +2449,7 @@ void cmTarget::GetCompileFeatures(std::vector<std::string> &result,
                                  "COMPILE_FEATURES")
                         != debugProperties.end();
 
-  if (this->Makefile->IsGeneratingBuildSystem())
+  if (this->Makefile->IsConfigured())
     {
     this->DebugCompileFeaturesDone = true;
     }
@@ -4857,7 +4857,7 @@ cmTarget::ReportPropertyOrigin(const std::string &p,
                                  p)
                         != debugProperties.end();
 
-  if (this->Makefile->IsGeneratingBuildSystem())
+  if (this->Makefile->IsConfigured())
     {
     this->DebugCompatiblePropertiesDone[p] = true;
     }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=363caa2fa540190ea394122fca3cb72d951823ad
commit 363caa2fa540190ea394122fca3cb72d951823ad
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sat May 30 19:12:38 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:40 2015 -0400

    cmLocalGenerator: De-virtualize Configure().
    
    The generators that override it do so in order to populate
    data members which can instead be populated in Generate().

diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index f02b5db..b635180 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -50,7 +50,7 @@ public:
    * Process the CMakeLists files for this directory to fill in the
    * Makefile ivar
    */
-  virtual void Configure();
+  void Configure();
 
   /**
    * Calls TraceVSDependencies() on all targets of this generator.
diff --git a/Source/cmLocalNinjaGenerator.cxx b/Source/cmLocalNinjaGenerator.cxx
index c08c91f..427ae10 100644
--- a/Source/cmLocalNinjaGenerator.cxx
+++ b/Source/cmLocalNinjaGenerator.cxx
@@ -41,6 +41,15 @@ cmLocalNinjaGenerator::~cmLocalNinjaGenerator()
 
 void cmLocalNinjaGenerator::Generate()
 {
+  // Compute the path to use when referencing the current output
+  // directory from the top output directory.
+  this->HomeRelativeOutputPath =
+    this->Convert(this->Makefile->GetCurrentBinaryDirectory(), HOME_OUTPUT);
+  if(this->HomeRelativeOutputPath == ".")
+    {
+    this->HomeRelativeOutputPath = "";
+    }
+
   this->SetConfigName();
 
   this->WriteProcessedMakefile(this->GetBuildFileStream());
@@ -91,25 +100,6 @@ void cmLocalNinjaGenerator::Generate()
   this->WriteCustomCommandBuildStatements();
 }
 
-// Implemented in:
-//   cmLocalUnixMakefileGenerator3.
-// Used in:
-//   Source/cmMakefile.cxx
-//   Source/cmGlobalGenerator.cxx
-void cmLocalNinjaGenerator::Configure()
-{
-  // Compute the path to use when referencing the current output
-  // directory from the top output directory.
-  this->HomeRelativeOutputPath =
-    this->Convert(this->Makefile->GetCurrentBinaryDirectory(), HOME_OUTPUT);
-  if(this->HomeRelativeOutputPath == ".")
-    {
-    this->HomeRelativeOutputPath = "";
-    }
-  this->cmLocalGenerator::Configure();
-
-}
-
 // TODO: Picked up from cmLocalUnixMakefileGenerator3.  Refactor it.
 std::string cmLocalNinjaGenerator
 ::GetTargetDirectory(cmTarget const& target) const
diff --git a/Source/cmLocalNinjaGenerator.h b/Source/cmLocalNinjaGenerator.h
index 7ae97de..ce966ff 100644
--- a/Source/cmLocalNinjaGenerator.h
+++ b/Source/cmLocalNinjaGenerator.h
@@ -38,8 +38,6 @@ public:
 
   virtual void Generate();
 
-  virtual void Configure();
-
   virtual std::string GetTargetDirectory(cmTarget const& target) const;
 
   const cmGlobalNinjaGenerator* GetGlobalNinjaGenerator() const;
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index 3eea59b..c9eea56 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -98,7 +98,7 @@ cmLocalUnixMakefileGenerator3::~cmLocalUnixMakefileGenerator3()
 }
 
 //----------------------------------------------------------------------------
-void cmLocalUnixMakefileGenerator3::Configure()
+void cmLocalUnixMakefileGenerator3::Generate()
 {
   // Compute the path to use when referencing the current output
   // directory from the top output directory.
@@ -112,12 +112,7 @@ void cmLocalUnixMakefileGenerator3::Configure()
     {
     this->HomeRelativeOutputPath += "/";
     }
-  this->cmLocalGenerator::Configure();
-}
 
-//----------------------------------------------------------------------------
-void cmLocalUnixMakefileGenerator3::Generate()
-{
   // Store the configuration name that will be generated.
   if(const char* config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE"))
     {
diff --git a/Source/cmLocalUnixMakefileGenerator3.h b/Source/cmLocalUnixMakefileGenerator3.h
index 988d660..f2a1389 100644
--- a/Source/cmLocalUnixMakefileGenerator3.h
+++ b/Source/cmLocalUnixMakefileGenerator3.h
@@ -40,12 +40,6 @@ public:
   virtual ~cmLocalUnixMakefileGenerator3();
 
   /**
-   * Process the CMakeLists files for this directory to fill in the
-   * Makefile ivar
-   */
-  virtual void Configure();
-
-  /**
    * Generate the makefile for this directory.
    */
   virtual void Generate();

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6e570f857acd3322640db72112f2dc37b69396cf
commit 6e570f857acd3322640db72112f2dc37b69396cf
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Jun 1 20:23:11 2015 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 4 09:06:09 2015 -0400

    cmLocalGenerator: Remove 'optional' parameter from Convert.
    
    Port callers away from it.

diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx
index a3ebc61..3102ebc 100644
--- a/Source/cmGlobalVisualStudio8Generator.cxx
+++ b/Source/cmGlobalVisualStudio8Generator.cxx
@@ -310,14 +310,10 @@ bool cmGlobalVisualStudio8Generator::AddCheckTarget()
   cmCustomCommandLine commandLine;
   commandLine.push_back(cmSystemTools::GetCMakeCommand());
   std::string argH = "-H";
-  argH += lg->Convert(mf->GetHomeDirectory(),
-                      cmLocalGenerator::START_OUTPUT,
-                      cmLocalGenerator::UNCHANGED, true);
+  argH += mf->GetHomeDirectory();
   commandLine.push_back(argH);
   std::string argB = "-B";
-  argB += lg->Convert(mf->GetHomeOutputDirectory(),
-                      cmLocalGenerator::START_OUTPUT,
-                      cmLocalGenerator::UNCHANGED, true);
+  argB += mf->GetHomeOutputDirectory();
   commandLine.push_back(argB);
   commandLine.push_back("--check-stamp-list");
   commandLine.push_back(stampList.c_str());
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index f35de03..c686ab1 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -517,7 +517,7 @@ void cmLocalGenerator::AddCustomCommandToCreateObject(const char* ofname,
   objectDir = this->Convert(objectDir,START_OUTPUT,SHELL);
   std::string objectFile = this->Convert(ofname,START_OUTPUT,SHELL);
   std::string sourceFile =
-    this->Convert(source.GetFullPath(),START_OUTPUT,SHELL,true);
+      this->ConvertToOutputFormat(source.GetFullPath(), SHELL);
   std::string varString = "CMAKE_";
   varString += lang;
   varString += "_COMPILE_OBJECT";
@@ -1177,7 +1177,7 @@ cmLocalGenerator::ConvertToOutputForExistingCommon(const std::string& remote,
     std::string tmp;
     if(cmSystemTools::GetShortPath(remote, tmp))
       {
-      return this->Convert(tmp, NONE, format, true);
+      return this->ConvertToOutputFormat(tmp, format);
       }
     }
 
@@ -1191,8 +1191,10 @@ cmLocalGenerator::ConvertToOutputForExisting(const std::string& remote,
                                              RelativeRoot local,
                                              OutputFormat format)
 {
+  static_cast<void>(local);
+
   // Perform standard conversion.
-  std::string result = this->Convert(remote, local, format, true);
+  std::string result = this->ConvertToOutputFormat(remote, format);
 
   // Consider short-path.
   return this->ConvertToOutputForExistingCommon(remote, result, format);
@@ -1311,8 +1313,7 @@ std::string cmLocalGenerator::GetIncludeFlags(
           {
           includeFlags << fwSearchFlag;
           }
-        includeFlags << this->Convert(frameworkDir, START_OUTPUT,
-                                      shellFormat, true)
+        includeFlags << this->ConvertToOutputFormat(frameworkDir, shellFormat)
           << " ";
         }
       continue;
@@ -2686,42 +2687,39 @@ const char* cmLocalGenerator::GetRelativeRootPath(RelativeRoot relroot)
 //----------------------------------------------------------------------------
 std::string cmLocalGenerator::Convert(const std::string& source,
                                       RelativeRoot relative,
-                                      OutputFormat output,
-                                      bool optional)
+                                      OutputFormat output)
 {
   // Convert the path to a relative path.
   std::string result = source;
 
-  if (!optional)
+  switch (relative)
     {
-    switch (relative)
-      {
-      case HOME:
-        //result = cmSystemTools::CollapseFullPath(result.c_str());
-        result = this->ConvertToRelativePath(
-            this->GetState()->GetSourceDirectoryComponents(), result);
-        break;
-      case START:
-        //result = cmSystemTools::CollapseFullPath(result.c_str());
-        result = this->ConvertToRelativePath(
-            this->StateSnapshot.GetCurrentSourceDirectoryComponents(), result);
-        break;
-      case HOME_OUTPUT:
-        //result = cmSystemTools::CollapseFullPath(result.c_str());
-        result = this->ConvertToRelativePath(
-            this->GetState()->GetBinaryDirectoryComponents(), result);
-        break;
-      case START_OUTPUT:
-        //result = cmSystemTools::CollapseFullPath(result.c_str());
-        result = this->ConvertToRelativePath(
-            this->StateSnapshot.GetCurrentBinaryDirectoryComponents(), result);
-        break;
-      case FULL:
-        result = cmSystemTools::CollapseFullPath(result);
-        break;
-      case NONE:
-        break;
-      }
+    case HOME:
+      //result = cmSystemTools::CollapseFullPath(result.c_str());
+      result = this->ConvertToRelativePath(
+          this->GetState()->GetSourceDirectoryComponents(), result);
+      break;
+    case START:
+      //result = cmSystemTools::CollapseFullPath(result.c_str());
+      result = this->ConvertToRelativePath(
+          this->StateSnapshot.GetCurrentSourceDirectoryComponents(), result);
+      break;
+    case HOME_OUTPUT:
+      //result = cmSystemTools::CollapseFullPath(result.c_str());
+      result = this->ConvertToRelativePath(
+          this->GetState()->GetBinaryDirectoryComponents(), result);
+      break;
+    case START_OUTPUT:
+      //result = cmSystemTools::CollapseFullPath(result.c_str());
+      result = this->ConvertToRelativePath(
+          this->StateSnapshot.GetCurrentBinaryDirectoryComponents(), result);
+      break;
+    case FULL:
+      result = cmSystemTools::CollapseFullPath(result);
+      break;
+    case NONE:
+      break;
+
     }
   return this->ConvertToOutputFormat(result, output);
 }
@@ -2765,8 +2763,7 @@ std::string cmLocalGenerator::ConvertToOutputFormat(const std::string& source,
 //----------------------------------------------------------------------------
 std::string cmLocalGenerator::Convert(RelativeRoot remote,
                                       const std::string& local,
-                                      OutputFormat output,
-                                      bool optional)
+                                      OutputFormat output, bool optional)
 {
   const char* remotePath = this->GetRelativeRootPath(remote);
 
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 30b622e..f02b5db 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -115,8 +115,7 @@ public:
   std::string ConvertToOutputFormat(const std::string& source,
                                     OutputFormat output);
   std::string Convert(const std::string& remote, RelativeRoot local,
-                      OutputFormat output = UNCHANGED,
-                      bool optional = false);
+                      OutputFormat output = UNCHANGED);
   std::string Convert(RelativeRoot remote, const std::string& local,
                       OutputFormat output = UNCHANGED,
                       bool optional = false);
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index e5f9f55..a26a1dd 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -235,13 +235,10 @@ void cmLocalVisualStudio6Generator::AddDSPBuildRule(cmTarget& tgt)
   comment += makefileIn;
   std::string args;
   args = "-H";
-  args += this->Convert(this->Makefile->GetHomeDirectory(),
-                        START_OUTPUT, UNCHANGED, true);
+  args += this->Makefile->GetHomeDirectory();
   commandLine.push_back(args);
   args = "-B";
-  args +=
-    this->Convert(this->Makefile->GetHomeOutputDirectory(),
-                  START_OUTPUT, UNCHANGED, true);
+  args += this->Makefile->GetHomeOutputDirectory();
   commandLine.push_back(args);
 
   std::vector<std::string> const& listFiles = this->Makefile->GetListFiles();
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index c565632..717f33f 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -305,13 +305,10 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
   comment += makefileIn;
   std::string args;
   args = "-H";
-  args += this->Convert(this->Makefile->GetHomeDirectory(),
-                        START_OUTPUT, UNCHANGED, true);
+  args += this->Makefile->GetHomeDirectory();
   commandLine.push_back(args);
   args = "-B";
-  args +=
-    this->Convert(this->Makefile->GetHomeOutputDirectory(),
-                  START_OUTPUT, UNCHANGED, true);
+  args += this->Makefile->GetHomeOutputDirectory();
   commandLine.push_back(args);
   commandLine.push_back("--check-stamp-file");
   std::string stampFilename = this->Convert(stampName.c_str(), FULL,
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index d422e28..9ac9ddb 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -1589,9 +1589,8 @@ std::string cmMakefileTargetGenerator::GetFrameworkFlags(std::string const& l)
       if(emitted.insert(*i).second)
         {
         flags += fwSearchFlag;
-        flags += this->Convert(*i,
-                               cmLocalGenerator::START_OUTPUT,
-                               cmLocalGenerator::SHELL, true);
+        flags += this->LocalGenerator
+                     ->ConvertToOutputFormat(*i, cmLocalGenerator::SHELL);
         flags += " ";
         }
       }
diff --git a/Source/cmMakefileTargetGenerator.h b/Source/cmMakefileTargetGenerator.h
index 58044e8..2e1b052 100644
--- a/Source/cmMakefileTargetGenerator.h
+++ b/Source/cmMakefileTargetGenerator.h
@@ -273,10 +273,9 @@ protected:
   std::string Convert(const std::string& source,
                       cmLocalGenerator::RelativeRoot relative,
                       cmLocalGenerator::OutputFormat output =
-                      cmLocalGenerator::UNCHANGED,
-                      bool optional = false)
+                      cmLocalGenerator::UNCHANGED)
   {
-    return this->LocalGenerator->Convert(source, relative, output, optional);
+    return this->LocalGenerator->Convert(source, relative, output);
   }
 
 };
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 5dfdb14..527524e 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -923,10 +923,7 @@ cmVisualStudio10TargetGenerator::ConvertPath(std::string const& path,
   return forceRelative
     ? cmSystemTools::RelativePath(
       this->Makefile->GetCurrentBinaryDirectory(), path.c_str())
-    : this->LocalGenerator->Convert(path.c_str(),
-                                    cmLocalGenerator::START_OUTPUT,
-                                    cmLocalGenerator::UNCHANGED,
-                                    /* optional = */ true);
+    : path.c_str();
 }
 
 void cmVisualStudio10TargetGenerator::ConvertToWindowsSlash(std::string& s)

-----------------------------------------------------------------------

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list