diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2020-05-06 12:51:08 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2020-05-11 15:59:32 +0000 |
commit | c15e09e0fe880c58ad39d5d8d0a1baeb84fc7e3b (patch) | |
tree | 0a0b0f7e93af8dce0dd6c1b979aea129e7559a9d /src/plugins/projectexplorer/buildstep.cpp | |
parent | c7973c7d352ac44181703b1c799d44af4f79549e (diff) | |
download | qt-creator-c15e09e0fe880c58ad39d5d8d0a1baeb84fc7e3b.tar.gz |
ProjectExplorer: Generalize the concept of custom output parsers
They can now be created independently of any toolchains, and we expose
them in the build and run configurations, so that users can easily get
tasks for output that comes from custom tools or is otherwise specific
to the user's environment.
Fixes: QTCREATORBUG-23993
Change-Id: I405753b9b68508ffe5deb4fcac08d6b213c7554d
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/buildstep.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildstep.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index ca64125d3a..4a56d805c4 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -27,9 +27,11 @@ #include "buildconfiguration.h" #include "buildsteplist.h" +#include "customparser.h" #include "deployconfiguration.h" #include "kitinformation.h" #include "project.h" +#include "projectexplorer.h" #include "projectexplorerconstants.h" #include "target.h" @@ -263,6 +265,10 @@ QString BuildStep::fallbackWorkingDirectory() const void BuildStep::setupOutputFormatter(OutputFormatter *formatter) { + for (const Core::Id id : buildConfiguration()->customParsers()) { + if (Internal::CustomParser * const parser = Internal::CustomParser::createFromId(id)) + formatter->addLineParser(parser); + } Utils::FileInProjectFinder fileFinder; fileFinder.setProjectDirectory(project()->projectDirectory()); fileFinder.setProjectFiles(project()->files(Project::AllFiles)); |