diff options
Diffstat (limited to 'src/lib/buildgraph/executor.cpp')
-rw-r--r-- | src/lib/buildgraph/executor.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/buildgraph/executor.cpp b/src/lib/buildgraph/executor.cpp index b41c5dd93..596672ebc 100644 --- a/src/lib/buildgraph/executor.cpp +++ b/src/lib/buildgraph/executor.cpp @@ -182,6 +182,7 @@ void Executor::doBuild() m_leaves.clear(); m_error.clear(); m_explicitlyCanceled = false; + m_activeFileTags = FileTags::fromStringList(m_buildOptions.activeFileTags()); setState(ExecutorRunning); @@ -416,6 +417,14 @@ void Executor::buildArtifact(Artifact *artifact) } } + // Skip if we're building just one file and the file tags do not match. + if (!m_activeFileTags.isEmpty() && !m_activeFileTags.matches(artifact->fileTags)) { + if (m_doDebug) + m_logger.qbsDebug() << "[EXEC] file tags do not match. Skipping."; + finishArtifact(artifact); + return; + } + // Skip transformers that do not need to be built. if (!mustExecuteTransformer(artifact->transformer)) { if (m_doDebug) |