diff options
Diffstat (limited to 'src/plugins/qmakeprojectmanager/qmakestep.cpp')
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakestep.cpp | 13 |
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); } |