Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-02-13 Thread Friedemann Kleint via Development
Hi, quick status update: I think the major part of source code changes is done, few changes are still in the works or waiting for review. Thanks for the reviews and proposals. I think most changes were actually for the better and quite some cruft and duplication was unearthed. We are hoping

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-31 Thread Cristian Adam via Development
On 01/16/2023 13:49, Friedemann Kleint via Development wrote: Hi, It is basically what webengine has been using for a long time: Source files are concatenated to jumbo files which are then compiled. Back in August 2019 Chromium announced the removal of the jumbo build

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-27 Thread Sérgio Martins via Development
On 2023-01-23 14:25, Jörg Bornemann via Development wrote: (...) One ugliness I've noticed: CMAKE_UNITY_BUILD is documented to not play well with CMAKE_EXPORT_COMPILE_COMMANDS. This might hurt users of clangd (using clangd with Qt's sources). Yes, but probably you won't be developing with

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-23 Thread Jörg Bornemann via Development
On 1/23/23 10:20, Friedemann Kleint via Development wrote: As for Shawn asking whether the concatenation is deterministic; in my experience, it is. The concatenation is determinic and depends on the file order in the CMake files and the batch size. One ugliness I've noticed:

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-23 Thread Friedemann Kleint via Development
Hi, thank you for the reponses; so we conclude that we should support it and use it partially in COIN, ideally for slow platforms. I will try to focus on qtbase and qttools. qtdeclarative would also be a worthy goal; would someone be up for it? Basically the changes linked to

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Thiago Macieira
On Tuesday, 17 January 2023 01:44:09 PST Shawn Rutledge via Development wrote: > Any trouble with icecream after this? I think you need to measure to see if it's worth it. My gut feeling is that it isn't for a large cluster. The amount of preprocessing work will drop, but it might not be

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Christian Tismer-Sperling
On 17.01.23 17:11, Thiago Macieira wrote: On Tuesday, 17 January 2023 02:55:42 PST Christian Tismer-Sperling wrote: What was the reason that you first considered to object to it? Because it adds work for those of us who don't use that thing. Unity builds are faster than non-unity if you're

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Thiago Macieira
On Tuesday, 17 January 2023 07:26:28 PST Volker Hilsheimer via Development wrote: > No idea why windows-11_22h2-mingw11-developer-build is so slow My experience is that the standard GNU binutils ld is mighty slow on Windows. That might be the case for all platforms other than ELF ones, but I

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Thiago Macieira
On Tuesday, 17 January 2023 02:55:42 PST Christian Tismer-Sperling wrote: > What was the reason that you first considered to object to it? Because it adds work for those of us who don't use that thing. Unity builds are faster than non-unity if you're doing a full build and you don't have access

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Edward Welbourne via Development
On Monday, 16 January 2023 04:49:23 PST Friedemann Kleint via Development wrote: > Summmarising: we stand to gain a speed-up of compilation; > particularly for clean builds like in COIN; but it requires some > work. We might do a step-by step approach process enabling modules > one

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Volker Hilsheimer via Development
On 17 Jan 2023, at 13:35, Edward Welbourne via Development wrote: On Monday, 16 January 2023 04:49:23 PST Friedemann Kleint via Development wrote: Summmarising: we stand to gain a speed-up of compilation; particularly for clean builds like in COIN; but it requires some work. We might do a

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Edward Welbourne via Development
On Monday, 16 January 2023 04:49:23 PST Friedemann Kleint via Development wrote: >>> Summmarising: we stand to gain a speed-up of compilation; particularly >>> for clean builds like in COIN; but it requires some work. We might do a >>> step-by step approach process enabling modules one by one.

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Christian Tismer-Sperling
On 17.01.23 05:09, Thiago Macieira wrote: On Monday, 16 January 2023 04:49:23 PST Friedemann Kleint via Development wrote: Summmarising: we stand to gain a speed-up of compilation; particularly for clean builds like in COIN; but it requires some work. We might do a step-by step approach process

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-17 Thread Shawn Rutledge via Development
> On 16 Jan 2023, at 13:49, Friedemann Kleint via Development > wrote: > > Hi, > > I would like to propose considering making Qt suitable for CMake UNITY_BUILDs > ( https://bugreports.qt.io/browse/QTBUG-109394 , > https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html ) . > > This

Re: [Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-16 Thread Thiago Macieira
On Monday, 16 January 2023 04:49:23 PST Friedemann Kleint via Development wrote: > Summmarising: we stand to gain a speed-up of compilation; particularly > for clean builds like in COIN; but it requires some work. We might do a > step-by step approach process enabling modules one by one. What do

[Development] CMake UNITY_BUILD ( QTBUG-109394 )

2023-01-16 Thread Friedemann Kleint via Development
Hi, I would like to propose considering making Qt suitable for CMake UNITY_BUILDs ( https://bugreports.qt.io/browse/QTBUG-109394 , https://cmake.org/cmake/help/latest/prop_tgt/UNITY_BUILD.html ) . This has originally been proposed for Qt for Python (