Developing with ENABLE_FINAL build speed

Peter Kümmel syntheticpp at gmx.net
Tue Mar 27 23:21:39 CEST 2007


Alexander Neundorf wrote:
> Hi Peter,
> 
> On Tuesday 27 March 2007 07:45, Peter Kümmel wrote:
>> When working on KDE one mostly does not work
>> on all projects and files at the same time,
>> which means these files will not be touched,
>> and they could be build with the
>> KDE4_ENABLE_FINAL flag.
>>
>> The problem using KDE4_ENABLE_FINAL is that
>> the projects with the touched files have to
>> rebuild completely on each change.
>> (With KDE4_ENABLE_FINAL a file is generated
>> which includes all cpp files.)
>>
>> The idea of attached patch is to manually
>> exclude some files from the generated
>> all-in-one file.
>>
>> So it is possible to a build with a speedup
>> of factor 3 to 4 and to work on some files
>> without waiting ages on each change, best
>> of both worlds.
>>
>> How it works:
>> the new macro KDE4_CREATE_MERGED_FILES creates
>> two files, one file which contains all untouched
>> files and one all touched. By default the file
>> with the touched files is 'empty', no code is
>> included (like using KDE4_ENABLE_FINAL).
>>
>> Moving one file from the const to the touched file
>> works by commenting out a macro definition and a
>> include (because the dependency scan of cmake is
>> macro insensible, or I'm wrong?).
> 
> sorry, but managing these sets of files manually is nothing I want to have in 
> the repository.
> So while a nice idea, please don't commit.

In principle it's just a more flexible implementation
of the KDE4_ENABLE_FINAL option, with nothing more
to maintain.

Peter

> 
> Thanks
> Alex



More information about the Kde-buildsystem mailing list