diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2013-10-22 16:28:23 +0200 |
|---|---|---|
| committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-10-22 16:36:36 +0200 |
| commit | afd141c892418419fa0084898c0cc5b03a69f96a (patch) | |
| tree | 797b55bb54593dfcb05735d53939c52f0ba6ae6f /src/lib/buildgraph | |
| parent | 1b2f39da7da66f9ea5a4dc163ae5835dd722eccf (diff) | |
| download | qbs-afd141c892418419fa0084898c0cc5b03a69f96a.tar.gz | |
Take dependencies into account when tracking changes.
They are currently ignored.
Change-Id: I94b89f9b7c6838106670d553429b297823ac861f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/buildgraph')
| -rw-r--r-- | src/lib/buildgraph/buildgraphloader.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/buildgraph/buildgraphloader.cpp b/src/lib/buildgraph/buildgraphloader.cpp index 861738477..130784b31 100644 --- a/src/lib/buildgraph/buildgraphloader.cpp +++ b/src/lib/buildgraph/buildgraphloader.cpp @@ -394,11 +394,26 @@ void BuildGraphLoader::checkAllProductsForChanges(const QList<ResolvedProductPtr } } +static bool dependenciesAreEqual(const ResolvedProductConstPtr &p1, + const ResolvedProductConstPtr &p2) +{ + if (p1->dependencies.count() != p2->dependencies.count()) + return false; + QSet<QString> names1; + QSet<QString> names2; + foreach (const ResolvedProductConstPtr &dep, p1->dependencies) + names1 << dep->name; + foreach (const ResolvedProductConstPtr &dep, p2->dependencies) + names2 << dep->name; + return names1 == names2; +} + bool BuildGraphLoader::checkProductForChanges(const ResolvedProductPtr &restoredProduct, const ResolvedProductPtr &newlyResolvedProduct) { return !transformerListsAreEqual(restoredProduct->transformers, newlyResolvedProduct->transformers) + || !dependenciesAreEqual(restoredProduct, newlyResolvedProduct) || checkForPropertyChanges(restoredProduct, newlyResolvedProduct); // TODO: Check for more stuff. } |
