[Development] Proposing CMake as build tool for Qt 6

Simon Hausmann Simon.Hausmann at qt.io
Tue Dec 10 14:30:00 CET 2019


Am 13.06.19 um 09:42 schrieb Lars Knoll:
> Hi all,
>
> After all the discussion, lets go back to the original proposal. We can see from the discussions that there is still work to be done, but I can’t find anything that sounds like a real showstopper.
>
> The two missing features that were voiced as a concern (if I didn’t miss anything in the thread) where multi arch/fat binary support for iOS and PCH support. I also heard that the people working on it are confident they can get this fixed in time for Qt 6, something I’m happy with for now. Nevertheless, I think it would be good if the team working on the cmake port could summarise how/when they are planning to fix this.

So the status regarding those two items is good:


     1) Cristian implemented PCH support in CMake itself and it's part 
of the 3.16 release (thank you Cristian!).

     2) We've had good discussions with CMake folks regarding fat binary 
support for iOS. The basics of the iOS support have been merged into 
qtbase's wip/cmake branch and Cristian picked up Tor Arne's patch for 
cmake and continued working on it (supporting ninja, using new 
architecture selection variable, and whatever else feedback comes).


> One additional concern was multi arch builds for Android, but I don’t think that counts as a concern as qmake does not support this neither (so it would be a new feature).

In the meantime this has landed as a new feature on the qmake side and 
Leander, Liang, Alexandru and Cristian have looked at the cmake side of 
it. Using a self-referencing external project trick, Cristian found a 
way to make this work for application builds (which is cool!).


> Finally, there was a concern around qmake support for users of Qt. This is something I have discussed with the team in the past, and it is a strong requirement that qmake will continue working as a build system for our users at least for the foreseeable future. This can and will be solved by cmake creating the required files to support qmake. Btw, this is also a hard requirement to be able to change build system repository by repository, so that we don’t have to do a all or nothing switch of all our repos.


The CI system has support for building with cmake or qmake on a 
per-configuration basis and Alexandru has continued work on the qmake 
support against cmake built modules. The work isn't complete yet, but 
IMO this should not prevent us from going forward.


> In summary, I do agree with and support the initial proposal by Simon to merge wip/cmake into wip/qt6.


Meanwhile, the target has changed from wip/qt6 to dev, but otherwise 
we're looking at preparing a merge soon for wider review.


Simon


>> On 6 Jun 2019, at 14:43, Sérgio Martins <iamsergio at gmail.com> wrote:
>>
>> On Thu, Jun 6, 2019 at 12:45 PM Simon Hausmann <Simon.Hausmann at qt.io> wrote:
>>> Hi,
>>>
>>> In the past months we, some developers from the Qt Company and KDAB,
>>> have made good progress on the port of Qt to use CMake as build tool.
>> +1, simply because we only have 1 contender so far.
>>
>> Thanks for stepping up and doing the work.
>>
>> Regards,
>> Sérgio Martins
>> _______________________________________________
>> Development mailing list
>> Development at qt-project.org
>> https://lists.qt-project.org/listinfo/development


More information about the Development mailing list