[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