diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 909babfe2b1..aa4c6ba2675 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -187,19 +187,6 @@ bool QMakeStep::init(QList &earlierSteps) m_qmakeExecutable = qtVersion->qmakeCommand().toString(); m_qmakeArguments = allArguments(qtVersion); m_runMakeQmake = (qtVersion->qtVersion() >= QtVersionNumber(5, 0 ,0)); - if (m_runMakeQmake) { - m_makeExecutable = makeCommand(); - if (m_makeExecutable.isEmpty()) { - emit addOutput(tr("Could not determine which \"make\" command to run. " - "Check the \"make\" step in the build configuration."), - BuildStep::OutputFormat::ErrorMessage); - return false; - } - m_makeArguments = makeArguments(); - } else { - m_makeExecutable.clear(); - m_makeArguments.clear(); - } QString makefile = workingDirectory + '/'; @@ -215,6 +202,20 @@ bool QMakeStep::init(QList &earlierSteps) makefile.append("Makefile"); } + if (m_runMakeQmake) { + m_makeExecutable = makeCommand(); + if (m_makeExecutable.isEmpty()) { + emit addOutput(tr("Could not determine which \"make\" command to run. " + "Check the \"make\" step in the build configuration."), + BuildStep::OutputFormat::ErrorMessage); + return false; + } + m_makeArguments = makeArguments(makefile); + } else { + m_makeExecutable.clear(); + m_makeArguments.clear(); + } + // Check whether we need to run qmake bool makefileOutDated = (qmakeBc->compareToImportFrom(makefile) != QmakeBuildConfiguration::MakefileMatches); if (m_forced || makefileOutDated) @@ -454,15 +455,12 @@ QString QMakeStep::makeCommand() const return ms ? ms->effectiveMakeCommand() : QString(); } -QString QMakeStep::makeArguments() const +QString QMakeStep::makeArguments(const QString &makefile) const { QString args; - if (QmakeBuildConfiguration *qmakeBc = qmakeBuildConfiguration()) { - const QString makefile = qmakeBc->makefile(); - if (!makefile.isEmpty()) { - Utils::QtcProcess::addArg(&args, "-f"); - Utils::QtcProcess::addArg(&args, makefile); - } + if (!makefile.isEmpty()) { + Utils::QtcProcess::addArg(&args, "-f"); + Utils::QtcProcess::addArg(&args, makefile); } Utils::QtcProcess::addArg(&args, "qmake_all"); return args; @@ -480,9 +478,11 @@ QString QMakeStep::effectiveQMakeCall() const QString result = qmake; if (qtVersion) { + QmakeBuildConfiguration *qmakeBc = qmakeBuildConfiguration(); + const QString makefile = qmakeBc ? qmakeBc->makefile() : QString(); result += ' ' + allArguments(qtVersion, ArgumentFlag::Expand); if (qtVersion->qtVersion() >= QtVersionNumber(5, 0, 0)) - result.append(QString::fromLatin1(" && %1 %2").arg(make).arg(makeArguments())); + result.append(QString::fromLatin1(" && %1 %2").arg(make).arg(makeArguments(makefile))); } return result; } diff --git a/src/plugins/qmakeprojectmanager/qmakestep.h b/src/plugins/qmakeprojectmanager/qmakestep.h index e98c20db0de..c83f453dae9 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.h +++ b/src/plugins/qmakeprojectmanager/qmakestep.h @@ -144,7 +144,7 @@ public: void setSeparateDebugInfo(bool enable); QString makeCommand() const; - QString makeArguments() const; + QString makeArguments(const QString &makefile) const; QString effectiveQMakeCall() const; QVariantMap toMap() const override;