diff options
author | Brad King <brad.king@kitware.com> | 2015-11-02 21:27:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-11-02 21:27:31 (GMT) |
commit | ed67f4052264003133b19edde2c85791d501e001 (patch) | |
tree | 3e868446dd23c143bc5936217726fb256632d2a9 /Source | |
parent | 7748a02c3f7d028af13d4fc2c83e7181d11397e9 (diff) | |
download | CMake-ed67f4052264003133b19edde2c85791d501e001.zip CMake-ed67f4052264003133b19edde2c85791d501e001.tar.gz CMake-ed67f4052264003133b19edde2c85791d501e001.tar.bz2 |
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.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 14 | ||||
-rw-r--r-- | Source/cmGlobalNinjaGenerator.h | 4 |
2 files changed, 14 insertions, 4 deletions
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 |