aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/buildgraph/depscanner.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2016-12-08 12:47:57 +0100
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-01-10 10:00:09 +0000
commit4004e5688b49e0c7e97e9f4773c3d3c76c0059ee (patch)
tree125b596236fa93feddc37599e28b4db0268b26d6 /src/lib/corelib/buildgraph/depscanner.h
parent4265033a34e1ecd06f9d51b72ab8d595d5eb28be (diff)
Make scanning information persistent
This way, a change in some artifact or dependency will not cause re- scanning of tons of other header files anymore. Task-number: QBS-1052 Change-Id: I1713da416b47b19275641cbbacd0a5c9da866578 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/depscanner.h')
-rw-r--r--src/lib/corelib/buildgraph/depscanner.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/corelib/buildgraph/depscanner.h b/src/lib/corelib/buildgraph/depscanner.h
index cf614c1a6..9ecd6f252 100644
--- a/src/lib/corelib/buildgraph/depscanner.h
+++ b/src/lib/corelib/buildgraph/depscanner.h
@@ -63,10 +63,19 @@ class DependencyScanner
public:
virtual ~DependencyScanner() {}
+ QString id() const;
+
virtual QStringList collectSearchPaths(Artifact *artifact) = 0;
virtual QStringList collectDependencies(FileResourceBase *file, const char *fileTags) = 0;
virtual bool recursive() const = 0;
virtual const void *key() const = 0;
+ virtual bool areModulePropertiesCompatible(const PropertyMapConstPtr &m1,
+ const PropertyMapConstPtr &m2) const = 0;
+
+private:
+ virtual QString createId() const = 0;
+
+ mutable QString m_id;
};
class PluginDependencyScanner : public DependencyScanner
@@ -79,6 +88,9 @@ private:
QStringList collectDependencies(FileResourceBase *file, const char *fileTags);
bool recursive() const;
const void *key() const;
+ QString createId() const;
+ bool areModulePropertiesCompatible(const PropertyMapConstPtr &m1,
+ const PropertyMapConstPtr &m2) const;
ScannerPlugin* m_plugin;
};
@@ -94,6 +106,9 @@ private:
QStringList collectDependencies(FileResourceBase *file, const char *fileTags);
bool recursive() const;
const void *key() const;
+ QString createId() const;
+ bool areModulePropertiesCompatible(const PropertyMapConstPtr &m1,
+ const PropertyMapConstPtr &m2) const;
QStringList evaluate(Artifact *artifact, const ScriptFunctionPtr &script);