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  3dd60a3574b97ae10e437fa6ed31aa530dda62ca (commit)
       via  a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2 (commit)
       via  ed67f4052264003133b19edde2c85791d501e001 (commit)
      from  0d669fb472061be4fa988febf6318e45f37883e8 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3dd60a3574b97ae10e437fa6ed31aa530dda62ca
commit 3dd60a3574b97ae10e437fa6ed31aa530dda62ca
Merge: 0d669fb a3c5ca9
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Nov 4 10:21:09 2015 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Wed Nov 4 10:21:09 2015 -0500

    Merge topic 'ninja-version-refactor' into next
    
    a3c5ca96 cmGlobalNinjaGenerator: Save 'ninja' version very early
    ed67f405 cmGlobalNinjaGenerator: Save path to 'ninja' tool very early


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2
commit a3c5ca960bdf7c136fc64e3bb6d6619ca30623d2
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Nov 2 16:31:27 2015 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Nov 2 16:37:59 2015 -0500

    cmGlobalNinjaGenerator: Save 'ninja' version very early
    
    Keep it in a member variable for convenient reference.  Store the
    value as soon as it is known.

diff --git a/Source/cmGlobalNinjaGenerator.cxx 
b/Source/cmGlobalNinjaGenerator.cxx
index 6e7c43a..a8a307c 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -548,11 +548,11 @@ void cmGlobalNinjaGenerator::Generate()
 {
   // Check minimum Ninja version.
   if (cmSystemTools::VersionCompare(cmSystemTools::OP_LESS,
-                                    CurrentNinjaVersion().c_str(),
+                                    this->NinjaVersion.c_str(),
                                     RequiredNinjaVersion().c_str()))
     {
     std::ostringstream msg;
-    msg << "The detected version of Ninja (" << this->CurrentNinjaVersion();
+    msg << "The detected version of Ninja (" << this->NinjaVersion;
     msg << ") is less than the version of Ninja required by CMake (";
     msg << this->RequiredNinjaVersion() << ").";
     this->GetCMakeInstance()->IssueMessage(cmake::FATAL_ERROR, msg.str());
@@ -591,6 +591,14 @@ void cmGlobalNinjaGenerator::FindMakeProgram(cmMakefile* 
mf)
   if (const char* ninjaCommand = mf->GetDefinition("CMAKE_MAKE_PROGRAM"))
     {
     this->NinjaCommand = ninjaCommand;
+    std::vector<std::string> command;
+    command.push_back(this->NinjaCommand);
+    command.push_back("--version");
+    std::string version;
+    cmSystemTools::RunSingleCommand(command,
+                                    &version, 0, 0, 0,
+                                    cmSystemTools::OUTPUT_NONE);
+    this->NinjaVersion = cmSystemTools::TrimWhitespace(version);
     }
 }
 
@@ -1275,21 +1283,10 @@ std::string cmGlobalNinjaGenerator::ninjaCmd() const
   return "ninja";
 }
 
-std::string cmGlobalNinjaGenerator::CurrentNinjaVersion() const
-{
-  std::string version;
-  std::string command = ninjaCmd() + " --version";
-  cmSystemTools::RunSingleCommand(command.c_str(),
-                                  &version, 0, 0, 0,
-                                  cmSystemTools::OUTPUT_NONE);
-
-  return cmSystemTools::TrimWhitespace(version);
-}
-
 bool cmGlobalNinjaGenerator::SupportsConsolePool() const
 {
   return cmSystemTools::VersionCompare(cmSystemTools::OP_LESS,
-    CurrentNinjaVersion().c_str(),
+    this->NinjaVersion.c_str(),
     RequiredNinjaVersionForConsolePool().c_str()) == false;
 }
 
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index f228340..46bd588 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -305,7 +305,6 @@ public:
 
   virtual void ComputeTargetObjectDirectory(cmGeneratorTarget* gt) const;
 
-  std::string CurrentNinjaVersion() const;
   // Ninja generator uses 'deps' and 'msvc_deps_prefix' introduced in 1.3
   static std::string RequiredNinjaVersion() { return "1.3"; }
   static std::string RequiredNinjaVersionForConsolePool() { return "1.5"; }
@@ -394,6 +393,7 @@ private:
   TargetAliasMap TargetAliases;
 
   std::string NinjaCommand;
+  std::string NinjaVersion;
 };
 
 #endif // ! cmGlobalNinjaGenerator_h

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed67f4052264003133b19edde2c85791d501e001
commit ed67f4052264003133b19edde2c85791d501e001
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Nov 2 16:27:31 2015 -0500
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Mon Nov 2 16:27:31 2015 -0500

    cmGlobalNinjaGenerator: Save path to 'ninja' tool very early
    
    Keep it in a member variable for convenient reference.  Set the
    value as soon as it is known.

diff --git a/Source/cmGlobalNinjaGenerator.cxx 
b/Source/cmGlobalNinjaGenerator.cxx
index 8498e39..6e7c43a 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -585,6 +585,15 @@ void cmGlobalNinjaGenerator::Generate()
   this->CloseBuildFileStream();
 }
 
+void cmGlobalNinjaGenerator::FindMakeProgram(cmMakefile* mf)
+{
+  this->cmGlobalGenerator::FindMakeProgram(mf);
+  if (const char* ninjaCommand = mf->GetDefinition("CMAKE_MAKE_PROGRAM"))
+    {
+    this->NinjaCommand = ninjaCommand;
+    }
+}
+
 void cmGlobalNinjaGenerator
 ::EnableLanguage(std::vector<std::string>const& langs,
                  cmMakefile* mf,
@@ -1260,9 +1269,8 @@ std::string cmGlobalNinjaGenerator::ninjaCmd() const
 {
   cmLocalGenerator* lgen = this->LocalGenerators[0];
   if (lgen) {
-    return lgen->ConvertToOutputFormat(
-             lgen->GetMakefile()->GetRequiredDefinition("CMAKE_MAKE_PROGRAM"),
-                                    cmLocalGenerator::SHELL);
+    return lgen->ConvertToOutputFormat(this->NinjaCommand,
+                                       cmLocalGenerator::SHELL);
   }
   return "ninja";
 }
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index 7547f16..f228340 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -320,7 +320,7 @@ protected:
 
 private:
   virtual std::string GetEditCacheCommand() const;
-
+  virtual void FindMakeProgram(cmMakefile* mf);
 
   void OpenBuildFileStream();
   void CloseBuildFileStream();
@@ -392,6 +392,8 @@ private:
 
   typedef std::map<std::string, cmGeneratorTarget*> TargetAliasMap;
   TargetAliasMap TargetAliases;
+
+  std::string NinjaCommand;
 };
 
 #endif // ! cmGlobalNinjaGenerator_h

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

Summary of changes:
 Source/cmGlobalNinjaGenerator.cxx |   39 +++++++++++++++++++++----------------
 Source/cmGlobalNinjaGenerator.h   |    6 ++++--
 2 files changed, 26 insertions(+), 19 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to