From 4977e55e512e46add29f9940233a36ec9d92d95a Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 7 Mar 2022 15:53:58 +0100 Subject: [PATCH] App: Optimize includes to reduce compile time --- src/App/ComplexGeoData.cpp | 3 +++ src/App/ComplexGeoData.h | 11 ++++++++--- src/App/Document.cpp | 1 + src/App/Document.h | 1 - src/App/DocumentObject.cpp | 5 +++++ src/App/DocumentObject.h | 6 +++++- src/App/Expression.h | 13 ++++--------- src/App/ExpressionParser.h | 1 + src/App/FeatureCustom.h | 2 -- src/App/GeoFeature.cpp | 1 + src/App/GeoFeatureGroupExtension.h | 1 + src/App/Placement.h | 1 - src/App/PropertyGeo.h | 2 -- src/Gui/CommandLink.cpp | 1 + src/Gui/Document.cpp | 1 + src/Gui/Placement.cpp | 1 + src/Gui/SelectionView.cpp | 1 + src/Mod/Part/App/TopoShape.cpp | 2 ++ src/Mod/Part/App/TopoShape.h | 1 + src/Mod/Points/App/Points.h | 1 + .../ReverseEngineering/Gui/FitBSplineSurface.cpp | 1 + 21 files changed, 38 insertions(+), 19 deletions(-) diff --git a/src/App/ComplexGeoData.cpp b/src/App/ComplexGeoData.cpp index 992e1e8324..9ac8ebaaac 100644 --- a/src/App/ComplexGeoData.cpp +++ b/src/App/ComplexGeoData.cpp @@ -30,6 +30,9 @@ #include #include "ComplexGeoData.h" +#include +#include +#include using namespace Data; diff --git a/src/App/ComplexGeoData.h b/src/App/ComplexGeoData.h index d8fb8e7d46..f989f190e9 100644 --- a/src/App/ComplexGeoData.h +++ b/src/App/ComplexGeoData.h @@ -24,18 +24,23 @@ #ifndef _AppComplexGeoData_h_ #define _AppComplexGeoData_h_ -#include #include #include #include -#include -#include #ifdef __GNUC__ # include #endif +namespace Base +{ +class Placement; +class Rotation; +template class BoundBox3; +typedef BoundBox3 BoundBox3d; +} + namespace Data { diff --git a/src/App/Document.cpp b/src/App/Document.cpp index 8e6cf23313..8f6c1f6599 100644 --- a/src/App/Document.cpp +++ b/src/App/Document.cpp @@ -59,6 +59,7 @@ recompute path. Also, it enables more complicated dependencies beyond trees. #ifndef _PreComp_ # include +# include # include #endif diff --git a/src/App/Document.h b/src/App/Document.h index 27ba97dc57..52ebe2c802 100644 --- a/src/App/Document.h +++ b/src/App/Document.h @@ -28,7 +28,6 @@ #include "PropertyStandard.h" #include -#include #include namespace Base { diff --git a/src/App/DocumentObject.cpp b/src/App/DocumentObject.cpp index 8c65df9430..6a4e12ec78 100644 --- a/src/App/DocumentObject.cpp +++ b/src/App/DocumentObject.cpp @@ -23,13 +23,18 @@ #include "PreCompiled.h" +#ifndef _PreComp_ +#include +#endif #include #include +#include #include #include #include "Application.h" +#include "ComplexGeoData.h" #include "Document.h" #include "DocumentObject.h" #include "DocumentObjectExtension.h" diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h index 77bb6e15f2..8486c077a4 100644 --- a/src/App/DocumentObject.h +++ b/src/App/DocumentObject.h @@ -29,12 +29,16 @@ #include #include #include -#include #include #include #include +namespace Base +{ +class Matrix4D; +} + namespace App { class Document; diff --git a/src/App/Expression.h b/src/App/Expression.h index 2c6034c37c..f27e8259b7 100644 --- a/src/App/Expression.h +++ b/src/App/Expression.h @@ -32,13 +32,12 @@ #include #include #include -#include -#if defined(__clang__) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Woverloaded-virtual" -#endif +namespace Base +{ +class Quantity; +} namespace App { @@ -224,8 +223,4 @@ public: } -#if defined(__clang__) -# pragma clang diagnostic pop -#endif - #endif // EXPRESSION_H diff --git a/src/App/ExpressionParser.h b/src/App/ExpressionParser.h index 7ba3d3ca28..292ed2172f 100644 --- a/src/App/ExpressionParser.h +++ b/src/App/ExpressionParser.h @@ -26,6 +26,7 @@ #define EXPRESSION_PARSER_H #include "Expression.h" +#include namespace App { diff --git a/src/App/FeatureCustom.h b/src/App/FeatureCustom.h index 961472a558..ea923e0fcb 100644 --- a/src/App/FeatureCustom.h +++ b/src/App/FeatureCustom.h @@ -25,8 +25,6 @@ #ifndef APP_FEATURECUSTOM_H #define APP_FEATURECUSTOM_H -#include - namespace App { diff --git a/src/App/GeoFeature.cpp b/src/App/GeoFeature.cpp index 80590bf74b..c5030a5ed4 100644 --- a/src/App/GeoFeature.cpp +++ b/src/App/GeoFeature.cpp @@ -27,6 +27,7 @@ #include "GeoFeature.h" #include "GeoFeatureGroupExtension.h" +#include "ComplexGeoData.h" using namespace App; diff --git a/src/App/GeoFeatureGroupExtension.h b/src/App/GeoFeatureGroupExtension.h index 7a7ce6d017..470167d419 100644 --- a/src/App/GeoFeatureGroupExtension.h +++ b/src/App/GeoFeatureGroupExtension.h @@ -25,6 +25,7 @@ #ifndef APP_GeoFeatureGroup_H #define APP_GeoFeatureGroup_H +#include "DocumentObject.h" #include "GroupExtension.h" #include "PropertyGeo.h" diff --git a/src/App/Placement.h b/src/App/Placement.h index a34475d574..b6aed5a508 100644 --- a/src/App/Placement.h +++ b/src/App/Placement.h @@ -24,7 +24,6 @@ #ifndef _AppPlacement_h_ #define _AppPlacement_h_ -#include #include "FeaturePython.h" namespace App diff --git a/src/App/PropertyGeo.h b/src/App/PropertyGeo.h index 633e4b567c..381682a680 100644 --- a/src/App/PropertyGeo.h +++ b/src/App/PropertyGeo.h @@ -30,8 +30,6 @@ #include #include -#include "Property.h" -#include "ComplexGeoData.h" #include "PropertyLinks.h" #include diff --git a/src/Gui/CommandLink.cpp b/src/Gui/CommandLink.cpp index 7535a1d80a..b475216851 100644 --- a/src/Gui/CommandLink.cpp +++ b/src/Gui/CommandLink.cpp @@ -28,6 +28,7 @@ #endif #include +#include #include #include #include diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 7af3c89179..3141fee942 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -33,6 +33,7 @@ #endif #include +#include #include #include #include diff --git a/src/Gui/Placement.cpp b/src/Gui/Placement.cpp index 50b5f67d70..2a07b6ba5a 100644 --- a/src/Gui/Placement.cpp +++ b/src/Gui/Placement.cpp @@ -29,6 +29,7 @@ #include #endif +#include #include #include #include diff --git a/src/Gui/SelectionView.cpp b/src/Gui/SelectionView.cpp index f7bd21dd50..e802dc27ea 100644 --- a/src/Gui/SelectionView.cpp +++ b/src/Gui/SelectionView.cpp @@ -33,6 +33,7 @@ # include #endif +#include #include #include diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp index 25649b8783..0537100849 100644 --- a/src/Mod/Part/App/TopoShape.cpp +++ b/src/Mod/Part/App/TopoShape.cpp @@ -194,9 +194,11 @@ #include +#include #include #include #include +#include #include #include #include diff --git a/src/Mod/Part/App/TopoShape.h b/src/Mod/Part/App/TopoShape.h index 6dc00e30a7..e23c0baa0d 100644 --- a/src/Mod/Part/App/TopoShape.h +++ b/src/Mod/Part/App/TopoShape.h @@ -25,6 +25,7 @@ #define PART_TOPOSHAPE_H #include +#include #include #include #include diff --git a/src/Mod/Points/App/Points.h b/src/Mod/Points/App/Points.h index 75c364fbf8..6c23b39196 100644 --- a/src/Mod/Points/App/Points.h +++ b/src/Mod/Points/App/Points.h @@ -32,6 +32,7 @@ #include #include +#include #include #include #include diff --git a/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp b/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp index 366d12900d..c138ee39a1 100644 --- a/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp +++ b/src/Mod/ReverseEngineering/Gui/FitBSplineSurface.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include