[Development] Use what you include mapping file

Samuel Gaist samuel.gaist at idiap.ch
Mon Oct 13 21:06:54 CEST 2025


On 13 Oct 2025, at 19:14, Scott Bloom <scott at towel42.com> wrote:
> 
> As part of a pre-checkin “semi-lint” strategy (along with proper formatting etc), I am investigating the usage of the tool include-what-you-use.
>  https://github.com/include-what-you-use/include-what-you-use
>  Essentially, it confirms that both every source (and header) file includes every header directly to reduce the possibility of a compile break if a dependent header changes what it includes.
>  It also reports when you include something that you don’t need, reducing compile time and dependencies.
>  It supports mapping files, for when a file is intentionally supposed to be included transitively.  For instance, including <iostream> vs <iosfwd> will not report issues.
>  The problem is with Qt, every include is transitive.  You include <QComboBox> not <qcombobox.h> for instance.
>  Creating this mapping file by hand, as you could imagine would be unlikely to be complete (or correct).
>  My question, does this mapping file already exist somewhere? If so where?
> If not, would this be something that would ever be considered? To be frank, I don’t want to bother with the enhancement request if it will just sit in the dustbin of issues of low priority.
>  Thanks.
> 
> Scott
> -- 
> Development mailing list
> Development at qt-project.org
> https://lists.qt-project.org/listinfo/development

Hi,

Taking a look at the tool (thanks for the pointer, looks interesting), I saw that they already have some Qt 5 mapping files provided.

There’s also a python script named iwyu-mapgen-qt.py under the mapgen folder that could do what you want and create the file you are after for Qt 6.

Best regards

Samuel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.qt-project.org/pipermail/development/attachments/20251013/abad7054/attachment-0001.sig>


More information about the Development mailing list