diff options
| author | Christian Kandeler <christian.kandeler@digia.com> | 2012-11-28 11:54:46 +0100 |
|---|---|---|
| committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2012-11-29 14:43:08 +0100 |
| commit | db19dd50d435cfba1b25ebcda613df8839b9b7e3 (patch) | |
| tree | 5395691ffe928f374f7491ba004ef24b8b139249 /src/lib/buildgraph/automoc.h | |
| parent | 87e31015d671e324e699f8bfc9a9e40f126fe393 (diff) | |
| download | qbs-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.h | 5 |
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 |
