aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/rulenode.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-07-31 17:41:04 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-08-01 11:38:28 +0000
commitb9db9d860edee00280c46c5db51954c9db28a4ee (patch)
treed67fa066b5f589f3cf307231420da80a299c5491 /src/lib/corelib/buildgraph/rulenode.h
parent872a4d75dca98c1692fb1f03fa69bd31bc018bd8 (diff)
RuleNode: Keep track of "helper inputs"
Namely, explicitlyDependsOn and auxiliaryInputs. A change in the set of explicitlyDependsOn must cause rule re-application (see c241048e30). In addition, for "I/O rules" (see 2d1de8cc84), we re-apply on filestamp changes to explicitlyDependsOn and any changes to auxiliaryInputs. Change-Id: Ic1770ab37b0609b0d58e7bbc6c1c755dec262a19 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/rulenode.h')
-rw-r--r--src/lib/corelib/buildgraph/rulenode.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/corelib/buildgraph/rulenode.h b/src/lib/corelib/buildgraph/rulenode.h
index 9476909c0..361aa1d38 100644
--- a/src/lib/corelib/buildgraph/rulenode.h
+++ b/src/lib/corelib/buildgraph/rulenode.h
@@ -86,15 +86,19 @@ public:
private:
template<PersistentPool::OpType opType> void serializationOp(PersistentPool &pool)
{
- pool.serializationOp<opType>(m_rule, m_oldInputArtifacts, m_lastApplicationTime,
+ pool.serializationOp<opType>(m_rule, m_oldInputArtifacts, m_oldExplicitlyDependsOn,
+ m_oldAuxiliaryInputs, m_lastApplicationTime,
m_needsToConsiderChangedInputs);
}
ArtifactSet currentInputArtifacts() const;
- ArtifactSet changedInputArtifacts(const ArtifactSet &allCompatibleInputs) const;
+ ArtifactSet changedInputArtifacts(const ArtifactSet &allCompatibleInputs,
+ const ArtifactSet &explicitlyDependsOn, const ArtifactSet &auxiliaryInputs) const;
RuleConstPtr m_rule;
ArtifactSet m_oldInputArtifacts;
+ ArtifactSet m_oldExplicitlyDependsOn;
+ ArtifactSet m_oldAuxiliaryInputs;
FileTime m_lastApplicationTime;
bool m_needsToConsiderChangedInputs = false;
};