summaryrefslogtreecommitdiff
path: root/src/lib/buildgraph/automoc.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2012-11-28 11:54:46 +0100
committerJoerg Bornemann <joerg.bornemann@digia.com>2012-11-29 14:43:08 +0100
commitdb19dd50d435cfba1b25ebcda613df8839b9b7e3 (patch)
tree5395691ffe928f374f7491ba004ef24b8b139249 /src/lib/buildgraph/automoc.h
parent87e31015d671e324e699f8bfc9a9e40f126fe393 (diff)
downloadqbs-db19dd50d435cfba1b25ebcda613df8839b9b7e3.tar.gz
Reduce compile dependencies.
While it seems elegant at first glance to do typedefs in class scope, it has one serious drawback: Forward declarations become impossible unless they use the non-typedef'ed type name, which defeats the purpose. As a result, dozens of headers currently include language.h and buildgraph.h, even though they technically don't have to. Fix this by introducing special forward-declaring headers and doing the typedefs there, outside the class scope. Now changes to header files included in language.h or buildgraph.h don't ripple through half the project anymore. Along the way, also remove unneeded and potentially harmful INCLUDEPATH statements from various pri files. Change-Id: Ib50db850876955216db7f39b6099c32d1239092b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/buildgraph/automoc.h')
-rw-r--r--src/lib/buildgraph/automoc.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lib/buildgraph/automoc.h b/src/lib/buildgraph/automoc.h
index 8c5772211..effbaf709 100644
--- a/src/lib/buildgraph/automoc.h
+++ b/src/lib/buildgraph/automoc.h
@@ -30,13 +30,12 @@
#ifndef AUTOMOC_H
#define AUTOMOC_H
-#include "buildgraph.h"
+#include "forward_decls.h"
struct ScannerPlugin;
namespace qbs {
namespace Internal {
-
class ScanResultCache;
/**
@@ -53,7 +52,7 @@ public:
AutoMoc();
void setScanResultCache(ScanResultCache *scanResultCache);
- void apply(BuildProduct::Ptr product);
+ void apply(BuildProductPtr product);
private:
enum FileType