diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-07-16 18:50:45 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-07-18 10:57:50 +0200 |
commit | dce309bf4e18cc20f3f9b03fbd33f63f5c60d025 (patch) | |
tree | 117edb10fc3dd42b4a4b6591c23897589669f9c9 /src/lib/corelib/buildgraph | |
parent | bbdf9592d14dfb9cc771e0fed4881428830d916f (diff) |
invalidate artifacts if a dependency is removed
Artifacts must be invalidated if a dependency is removed.
Consider a foo.cpp that includes bar.h. If bar.h is removed from the
project, then we must recompile foo.cpp to trigger the compile error
that stems from the wrong include.
Change-Id: Ifc2bc3085be553f87685a17c5ff05273daa6579c
Task-number: QBS-631
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/corelib/buildgraph')
-rw-r--r-- | src/lib/corelib/buildgraph/projectbuilddata.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/corelib/buildgraph/projectbuilddata.cpp b/src/lib/corelib/buildgraph/projectbuilddata.cpp index 4f62bae3e..e2518636d 100644 --- a/src/lib/corelib/buildgraph/projectbuilddata.cpp +++ b/src/lib/corelib/buildgraph/projectbuilddata.cpp @@ -253,11 +253,12 @@ void ProjectBuildData::removeArtifactAndExclusiveDependents(Artifact *artifact, if (removeParent) { removeArtifactAndExclusiveDependents(parent, logger, removeFromProduct, removedArtifacts); + } else { + parent->clearTimestamp(); } } const bool removeFromDisk = artifact->artifactType == Artifact::Generated; removeArtifact(artifact, logger, removeFromDisk, removeFromProduct); - } void ProjectBuildData::removeArtifact(Artifact *artifact, |