Blob Blame History Raw
diff --git a/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp b/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp
index 909d146..dc28408 100644
--- a/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp
+++ b/projectbuilders/ninjabuilder/kdevninjabuilderplugin.cpp
@@ -20,7 +20,6 @@
 #include "ninjajob.h"
 #include <KAboutData>
 #include <KPluginFactory>
-#include <KStandardDirs>
 #include <KDebug>
 #include <KConfigGroup>
 #include <KShell>
@@ -43,7 +42,7 @@ KDevNinjaBuilderPlugin::KDevNinjaBuilderPlugin(QObject* parent, const QVariantLi
 
 bool KDevNinjaBuilderPlugin::hasError() const
 {
-    return KStandardDirs::findExe("ninja").isEmpty();
+    return NinjaJob::ninjaBinary().isEmpty();
 }
 
 static QStringList targetsInFolder(KDevelop::ProjectFolderItem* item)
diff --git a/projectbuilders/ninjabuilder/ninjajob.cpp b/projectbuilders/ninjabuilder/ninjajob.cpp
index 9efa57c..acb5d07 100644
--- a/projectbuilders/ninjabuilder/ninjajob.cpp
+++ b/projectbuilders/ninjabuilder/ninjajob.cpp
@@ -22,6 +22,7 @@
 #include <KDebug>
 #include <KLocalizedString>
 #include <KConfigGroup>
+#include <KStandardDirs>
 #include <interfaces/iproject.h>
 #include <outputview/outputmodel.h>
 #include <project/interfaces/ibuildsystemmanager.h>
@@ -44,7 +45,7 @@ NinjaJob::NinjaJob(KDevelop::ProjectBaseItem* item, const QStringList& arguments
     setFilteringStrategy( KDevelop::OutputModel::CompilerFilter );
     setProperties( NeedWorkingDirectory | PortableMessages | DisplayStderr | IsBuilderHint | PostProcessOutput );
 
-    *this << "ninja";
+    *this << ninjaBinary();
     *this << arguments;
 
     QStringList targets;
@@ -68,6 +69,15 @@ void NinjaJob::setIsInstalling( bool isInstalling )
     m_isInstalling = isInstalling;
 }
 
+QString NinjaJob::ninjaBinary()
+{
+    QString path = KStandardDirs::findExe("ninja-build");
+    if (path.isEmpty()) {
+        path = KStandardDirs::findExe("ninja");
+    }
+    return path;
+}
+
 KUrl NinjaJob::workingDirectory() const
 {
     KDevelop::ProjectBaseItem* it = item();
diff --git a/projectbuilders/ninjabuilder/ninjajob.h b/projectbuilders/ninjabuilder/ninjajob.h
index 0bd1725..1186c06 100644
--- a/projectbuilders/ninjabuilder/ninjajob.h
+++ b/projectbuilders/ninjabuilder/ninjajob.h
@@ -39,6 +39,7 @@ class NinjaJob : public KDevelop::OutputExecuteJob
     public:
         NinjaJob( KDevelop::ProjectBaseItem* item, const QStringList& arguments, const QByteArray& signal, QObject* parent );
         void setIsInstalling( bool isInstalling );
+        static QString ninjaBinary();
 
         virtual KUrl workingDirectory() const;
         virtual QStringList privilegedExecutionCommand() const;