diff --git a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp index cd48f80f7b9..a0266d433c2 100644 --- a/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp +++ b/src/plugins/cmakeprojectmanager/cmakekitinformation.cpp @@ -36,6 +36,7 @@ #include #include +#include #include using namespace ProjectExplorer; @@ -168,6 +169,13 @@ QVariant CMakeGeneratorKitInformation::defaultValue(const Kit *k) const QStringList known = tool->supportedGenerators(); auto it = std::find_if(known.constBegin(), known.constEnd(), [](const QString &s) { return s == QLatin1String("CodeBlocks - Ninja"); }); + if (it != known.constEnd()) { + Utils::Environment env = Utils::Environment::systemEnvironment(); + k->addToEnvironment(env); + const Utils::FileName ninjaExec = env.searchInPath(QLatin1String("ninja")); + if (ninjaExec.isEmpty()) + it = known.constEnd(); // Ignore ninja generator without ninja exectuable + } if (it == known.constEnd()) it = std::find_if(known.constBegin(), known.constEnd(), [](const QString &s) { return s == QLatin1String("CodeBlocks - Unix Makefiles"); });