[Development] Announcing moc_combine
Joerg Bornemann
joerg.bornemann at qt.io
Tue May 31 20:35:17 CEST 2016
On 31/05/2016 19:42, Thiago Macieira wrote:
>> This feature is nice for source distributions but isn't suitable for
>> code being developed.
>
> We can easily disable it for developer builds.
Yes, please!
> But note that due to rebases and touching central files like qglobal.h or
> qobject.h, everything rebuilds anyway.
This depends on the area and branch you're working on.
I can see how you're affected. ;)
> The best of both worlds would be if:
> * moc could output more than one file
> * moc could be run once for however many files needed updating
> * moc could be given the list of files that have changed, but no others
>
> GNU make helps us for the last option:
>
> $?
The good thing is, nmake also supports $?:
All dependents with a later timestamp than the current target.
[https://msdn.microsoft.com/en-us/library/cbes8ded.aspx]
> I don't know how to implement the first two.
moc could output combined_moc.cpp which includes every moc_XXX.cpp.
The update run of moc then regenerates the single moc_XXX.cpp files.
This still leaves the issue that compilation of combined_moc.cpp will be
slower for the incremental build case. So I'm not sure it's worth it.
Turning moc_combine off for developer builds seems OK to me.
BR,
Joerg
More information about the Development
mailing list