diff --git a/bin/find-unneeded-includes b/bin/find-unneeded-includes index 3f9d3bfeccc5..2dafa002b4cc 100755 --- a/bin/find-unneeded-includes +++ b/bin/find-unneeded-includes @@ -539,6 +539,13 @@ def tidy(compileCommands, paths, dontstop, noexclude, checknamespaces, finderror # code on Linux. if "assumeFilename" in moduleRules.keys() and not path.endswith("cxx"): assume = moduleRules["assumeFilename"] + # Check for lower level assume file name + if "customAssumeFilenames" in moduleRules: + customAssumeRules = moduleRules["customAssumeFilenames"] + for dirName in customAssumeRules.keys(): + if path.startswith(dirName): + assume = customAssumeRules[dirName] + if assume: assumeAbs = os.path.abspath(assume) compileFile = assumeAbs diff --git a/sw/IwyuFilter_sw.yaml b/sw/IwyuFilter_sw.yaml index 0b0da76f296d..b6aef2298de8 100644 --- a/sw/IwyuFilter_sw.yaml +++ b/sw/IwyuFilter_sw.yaml @@ -1,5 +1,12 @@ --- assumeFilename: sw/source/core/doc/docnew.cxx +customAssumeFilenames: + # Need -I/.../sw/source/writerfilter/inc + sw/source/writerfilter: sw/source/writerfilter/dmapper/DomainMapper.cxx + # Need -I/.../workdir/UnpackedTarball/cppunit/include to work + sw/qa/inc: sw/qa/core/test_ToxMiscTest.cxx + # Needs -I/...workdir/CustomTarget/oox/generated + sw/source/filter/ww8: sw/source/filter/ww8/docxattributeoutput.cxx excludelist: sw/sdi/swslots.hrc: # Needed for sdi files to compile diff --git a/sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx b/sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx index b6d3df34e79a..79fcc0ba1937 100644 --- a/sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx +++ b/sw/source/writerfilter/dmapper/DomainMapper_Impl.hxx @@ -56,6 +56,7 @@ #include #include #include +#include #include class SwXTextDocument; diff --git a/sw/source/writerfilter/dmapper/GraphicImport.hxx b/sw/source/writerfilter/dmapper/GraphicImport.hxx index 6db245f1cbbf..0721988327cd 100644 --- a/sw/source/writerfilter/dmapper/GraphicImport.hxx +++ b/sw/source/writerfilter/dmapper/GraphicImport.hxx @@ -20,6 +20,7 @@ #include #include +#include #include "LoggedResources.hxx" #include "WrapPolygonHandler.hxx" @@ -29,6 +30,12 @@ #include #include #include +#include + +#include +#include + +#include class SwXTextGraphicObject; namespace com::sun::star { diff --git a/sw/source/writerfilter/dmapper/PropertyMap.hxx b/sw/source/writerfilter/dmapper/PropertyMap.hxx index 3424c5143d58..ad066ecf5d6a 100644 --- a/sw/source/writerfilter/dmapper/PropertyMap.hxx +++ b/sw/source/writerfilter/dmapper/PropertyMap.hxx @@ -31,6 +31,8 @@ #include #include "PropertyIds.hxx" #include +#include + #include #include #include diff --git a/sw/source/writerfilter/dmapper/ThemeColorHandler.hxx b/sw/source/writerfilter/dmapper/ThemeColorHandler.hxx index 49d7db20674f..da23f8a55d3a 100644 --- a/sw/source/writerfilter/dmapper/ThemeColorHandler.hxx +++ b/sw/source/writerfilter/dmapper/ThemeColorHandler.hxx @@ -17,6 +17,7 @@ #include "PropertyIds.hxx" #include +#include #include #include diff --git a/vcl/IwyuFilter_vcl.yaml b/vcl/IwyuFilter_vcl.yaml index 7a9cbdd992b8..90bf28408d13 100644 --- a/vcl/IwyuFilter_vcl.yaml +++ b/vcl/IwyuFilter_vcl.yaml @@ -1,5 +1,10 @@ --- assumeFilename: vcl/source/app/svapp.cxx +customAssumeFilenames: + # Needs -isystem /usr/include/x86_64-linux-gnu/qt5 + vcl/inc/qt5: vcl/qt5/QtInstance.cxx + # Needs -isystem /usr/include/x86_64-linux-gnu/qt6 + vcl/inc/qt6: vcl/qt6/QtInstance.cxx excludelist: vcl/inc/unx/saldisp.hxx: # Don't replace with generated header