-----Original Message-----
From: Samuel Gaist <[email protected]> 
Sent: Monday, October 13, 2025 12:07
To: Scott Bloom <[email protected]>
Cc: List for announcements regarding Qt releases and development via Announce 
via Development <[email protected]>
Subject: Re: [Development] Use what you include mapping file

On 13 Oct 2025, at 19:14, Scott Bloom <[email protected]> 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
> [email protected]
> 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
=================
Thanks,

Ill take a look, I cant believe I missed it.  

My thoughts though, if it were run as part of the build, and supplied as part 
of the prebuilt installers,  it would always be up to day for peoples 
development environment based on the Qt they are pointing to.

Scott
-- 
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to