diff --git a/src/plugins/qmakeprojectmanager/qmakemakestep.cpp b/src/plugins/qmakeprojectmanager/qmakemakestep.cpp index 77351d4ef9f..8de452e0a2c 100644 --- a/src/plugins/qmakeprojectmanager/qmakemakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakemakestep.cpp @@ -83,6 +83,10 @@ bool QmakeMakeStep::init() return false; } + // Ignore all but the first make step for a non-top-level build. See QTCREATORBUG-15794. + m_ignoredNonTopLevelBuild = (bc->fileNodeBuild() || bc->subNodeBuild()) + && static_cast(parent())->firstOfType() != this; + ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); @@ -177,7 +181,7 @@ bool QmakeMakeStep::init() void QmakeMakeStep::doRun() { - if (m_scriptTarget) { + if (m_scriptTarget || m_ignoredNonTopLevelBuild) { emit finished(true); return; } diff --git a/src/plugins/qmakeprojectmanager/qmakemakestep.h b/src/plugins/qmakeprojectmanager/qmakemakestep.h index b8142feff6e..d1d78d19991 100644 --- a/src/plugins/qmakeprojectmanager/qmakemakestep.h +++ b/src/plugins/qmakeprojectmanager/qmakemakestep.h @@ -62,6 +62,7 @@ private: bool m_scriptTarget = false; QString m_makeFileToCheck; bool m_unalignedBuildDir; + bool m_ignoredNonTopLevelBuild = false; }; } // QmakeProjectManager