diff options
author | Brad King <brad.king@kitware.com> | 2013-11-12 13:44:08 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-11-12 13:47:19 (GMT) |
commit | 684063c0363687285126f30a517239aa2ad46149 (patch) | |
tree | c7bb4a0540da44dc14d1b8ab5de4b0102d925dd2 /Source/cmGlobalNinjaGenerator.cxx | |
parent | eaf5b7a776e24af55f6f7f254171c3e2d2932d9b (diff) | |
download | CMake-684063c0363687285126f30a517239aa2ad46149.zip CMake-684063c0363687285126f30a517239aa2ad46149.tar.gz CMake-684063c0363687285126f30a517239aa2ad46149.tar.bz2 |
Refactor tool selection for edit_cache (#14544)
Refactor edit_cache tool selection to ask each global generator for its
preference. Teach the Ninja generator to always use cmake-gui because
Ninja by design cannot run interactive terminal dialogs like ccmake.
Teach the Makefile generator to use cmake-gui when also using an "extra"
generator whose IDE has no terminal to run ccmake, and otherwise fall
back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
Diffstat (limited to 'Source/cmGlobalNinjaGenerator.cxx')
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index d262397..e938065 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/Source/cmGlobalNinjaGenerator.cxx @@ -637,6 +637,13 @@ bool cmGlobalNinjaGenerator::HasRule(const std::string &name) //---------------------------------------------------------------------------- // Private virtual overrides +std::string cmGlobalNinjaGenerator::GetEditCacheCommand() const +{ + // Ninja by design does not run interactive tools in the terminal, + // so our only choice is cmake-gui. + return cmSystemTools::GetCMakeGUICommand(); +} + // TODO: Refactor to combine with cmGlobalUnixMakefileGenerator3 impl. void cmGlobalNinjaGenerator::ComputeTargetObjects(cmGeneratorTarget* gt) const { |