diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-04-07 13:49:34 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2020-04-07 15:20:22 +0000 |
commit | 7745eacc7afae4acf3e07325ab01cf6e6821037c (patch) | |
tree | 2a125e0c7530d3ae252a740b42db4cd1d34f805a /src/plugins/qmakeprojectmanager | |
parent | b22bb5a9a7aa22fe13e1282c5db851688ec4d83f (diff) |
Output parsers: Generalize the search directory concept
All parsers can now have search directories, not just the GnuMakeParser.
This allows us to get rid of the "task mangling", removing another
instance where the order of parsers in the chain mattered.
Task-number: QTCREATORBUG-22665
Change-Id: Id0d55522ae6800afd9f50ff36546224b0d8bb382
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/qmakeprojectmanager')
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakemakestep.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakeparser.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/qmakestep.cpp | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakemakestep.cpp b/src/plugins/qmakeprojectmanager/qmakemakestep.cpp index 118df07c11..f3c85b388c 100644 --- a/src/plugins/qmakeprojectmanager/qmakemakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakemakestep.cpp @@ -171,7 +171,7 @@ bool QmakeMakeStep::init() IOutputParser *parser = target()->kit()->createOutputParser(); if (parser) appendOutputParser(parser); - outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory()); + outputParser()->addSearchDir(pp->effectiveWorkingDirectory()); appendOutputParser(new QMakeParser); // make may cause qmake to be run, add last to make sure // it has a low priority. diff --git a/src/plugins/qmakeprojectmanager/qmakeparser.cpp b/src/plugins/qmakeprojectmanager/qmakeparser.cpp index 46ad10a0a0..bbc711e958 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparser.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparser.cpp @@ -61,7 +61,7 @@ void QMakeParser::stdError(const QString &line) type = Task::Error; emit addTask(BuildSystemTask(type, description, - FilePath::fromUserInput(fileName), + absoluteFilePath(FilePath::fromUserInput(fileName)), m_error.cap(2).toInt() /* line */), 1); return; diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp index 320a786af6..2faaa4e0cb 100644 --- a/src/plugins/qmakeprojectmanager/qmakestep.cpp +++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp @@ -338,7 +338,7 @@ void QMakeStep::runNextCommand() case State::RUN_MAKE_QMAKE_ALL: { auto *parser = new GnuMakeParser; - parser->setWorkingDirectory(processParameters()->workingDirectory()); + parser->addSearchDir(processParameters()->workingDirectory()); setOutputParser(parser); m_nextState = State::POST_PROCESS; startOneCommand(m_makeCommand); |