aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmakeprojectmanager/qmakestep.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakestep.cpp')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index 7d1a418249e..424e12f5437 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -225,8 +225,6 @@ bool QMakeStep::init()
pp->setWorkingDirectory(workingDirectory);
pp->setEnvironment(qmakeBc->environment());
- setOutputParser(new QMakeParser);
-
QmakeProFileNode *node = static_cast<QmakeProFileNode *>(qmakeBc->project()->rootProjectNode());
if (qmakeBc->subNodeBuild())
node = qmakeBc->subNodeBuild();
@@ -254,6 +252,13 @@ bool QMakeStep::init()
return AbstractProcessStep::init();
}
+void QMakeStep::setupOutputFormatter(OutputFormatter *formatter)
+{
+ formatter->addLineParser(new QMakeParser);
+ m_outputFormatter = formatter;
+ AbstractProcessStep::setupOutputFormatter(formatter);
+}
+
void QMakeStep::doRun()
{
if (m_scriptTemplate) {
@@ -332,7 +337,7 @@ void QMakeStep::runNextCommand()
case State::IDLE:
return;
case State::RUN_QMAKE:
- setOutputParser(new QMakeParser);
+ m_outputFormatter->setLineParsers({new QMakeParser});
m_nextState = (m_runMakeQmake ? State::RUN_MAKE_QMAKE_ALL : State::POST_PROCESS);
startOneCommand(m_qmakeCommand);
return;
@@ -340,7 +345,7 @@ void QMakeStep::runNextCommand()
{
auto *parser = new GnuMakeParser;
parser->addSearchDir(processParameters()->workingDirectory());
- setOutputParser(parser);
+ m_outputFormatter->setLineParsers({parser});
m_nextState = State::POST_PROCESS;
startOneCommand(m_makeCommand);
}