[Development] moc output from non-local tool build

Joerg Bornemann joerg.bornemann at qt.io
Mon Sep 20 10:33:04 CEST 2021


On 9/15/21 5:21 AM, Thiago Macieira wrote:
> On Tuesday, 14 September 2021 09:03:59 PDT Joerg Bornemann wrote:
>> Unless QT_BUILD_TOOLS_WHEN_CROSSCOMPILING is ON which is used in yocto
>> context.
> 
> I don't see why Yocto Project recipes need to be special.

They don't need to be special, it's just convenient to have the tools on 
the target too.

> My problem as a QtCore developer is that almost anything I do will cause the
> Bootstrap lib to rebuild, then moc gets relinked, then header and source with
> Q_OBJECT is re-moc'ed and recompiled.

Yeah that's QTBUG-92269. This affects especially QtCore developers. :-/

> When your change to use the pre-built tools is in, the problem lessens, in
> that the moc that is used won't change, so I won't get everything re-moc'ed
> and recompiled. However, the Bootstrap lib still gets recompiled and moc
> relinked, so it's unnecessary work.
> 
> I'd like to start depopulating the Bootstrap lib so it's MUCH smaller: it
> should only have what moc and tracegen need.

You can do that, with 
https://codereview.qt-project.org/c/qt/qtbase/+/370954 these are the 
only bootstrapped tools left: moc, tracegen and cmake_automoc_parser 
(which I forgot the last time we talked about this).


BR,

Joerg


More information about the Development mailing list