diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp index cd86b0d1e85bceb6c4c9e7bc696b5dfc0951aa4a..fd062fd001263bc248e276f8ec28526aa3793bfb 100644 --- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp +++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp @@ -36,6 +36,7 @@ #include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorersettings.h> +#include <projectexplorer/gcctoolchain.h> #include <utils/fileutils.h> @@ -121,15 +122,7 @@ void AbstractMsvcToolChain::addToEnvironment(Utils::Environment &env) const QString AbstractMsvcToolChain::makeCommand() const { if (ProjectExplorerPlugin::instance()->projectExplorerSettings().useJom) { - // We want jom! Try to find it. - const QString jom = QLatin1String("jom.exe"); - const QFileInfo installedJom = QFileInfo(QCoreApplication::applicationDirPath() - + QLatin1Char('/') + jom); - if (installedJom.isFile() && installedJom.isExecutable()) { - return installedJom.absoluteFilePath(); - } else { - return jom; - } + return MingwToolChain::findInstalledJom(); } return QLatin1String("nmake.exe"); } diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index f374fd3e225604c27edb9ea16f6e06c839cb09b2..1a6787add1b7e8730306da7709c8da16add4577a 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -874,6 +874,23 @@ QString MingwToolChain::makeCommand() const return QLatin1String("mingw32-make.exe"); } +QString MingwToolChain::findInstalledJom() +{ + if (Abi::hostAbi().os() != Abi::WindowsOS) { + qWarning() << "Jom can only be used on Windows"; + return QString(); + } + + // We want jom! Try to find it. + const QString jom = QLatin1String("jom.exe"); + const QFileInfo installedJom = QFileInfo(QCoreApplication::applicationDirPath() + + QLatin1Char('/') + jom); + if (installedJom.isFile() && installedJom.isExecutable()) + return installedJom.absoluteFilePath(); + else + return jom; +} + ToolChain *MingwToolChain::clone() const { return new MingwToolChain(*this); diff --git a/src/plugins/projectexplorer/gcctoolchain.h b/src/plugins/projectexplorer/gcctoolchain.h index 8ab8111e5c2901795c97db6e1e62c844699b2e3f..8aee14a93adf883b8c6e49fda7fc6c130e8bae16 100644 --- a/src/plugins/projectexplorer/gcctoolchain.h +++ b/src/plugins/projectexplorer/gcctoolchain.h @@ -145,6 +145,7 @@ public: QString typeName() const; Utils::FileName mkspec() const; QString makeCommand() const; + static QString findInstalledJom(); ToolChain *clone() const;