Developing with ENABLE_FINAL build speed

Peter Kümmel syntheticpp at
Tue Mar 27 23:04:56 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
>> 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.

I just wanna be sure you understand it correct:

nothing has to be manually managed in the repository, only
when a developer don't wanna compile the complete project
when one file has changed he edits the generated file
in his local build tree.


> Thanks
> Alex

More information about the Kde-buildsystem mailing list