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