Ninja and KDevelop

Andreas Pakulat apaku at gmx.de
Sat Aug 18 18:40:16 UTC 2012


Hi,

On Sat, Aug 18, 2012 at 4:30 PM, Milian Wolff <mail at milianw.de> wrote:
> On Saturday 18 August 2012 13:27:46 Aleix Pol wrote:
>> Hi,
>> I've just added a new repository with all our unstable plugins called
>> kde:kdev-ninja [1] which includes support for building projects using
>> CMake's (changes to adapt it to the cmake plugins already hit master
>> some weeks ago) ninja [2] generator.
>>
>> I think it's interesting because it lets us take advantage of a tool
>> that tries to improve one of the things that provided a worse
>> experience from cmake (IMHO of course), which was the wait time while
>> compiling something that didn't have much changes.
>
> Have you built kdevplatform + kdevelop with ninja? What are the steps required
> to do so?
>
> Generally, can you post some numbers on how much faster an incremental built
> and a clean built is compared to make?

There were numbers on this posted on the cmake list in the past when
the ninja support was discussed initially. IIRC it wasn't all that
impressive since a 'no-rebuilding-needed' run with projects of the
size of kdevelop/kdevplatform aren't that slow to begin with. IIRC
ninja was more impressive on bigger projects. And the build-time of
clean build-dirs or build-dirs with partial builds is mostly a
function of the compiler speed. I'm not sure right now wether ninja is
better at parallelizing builds than make and I can't find info on that
quickly, but if it is that would obviously improve the non "no-op"
builds on multi-core systems.

> And of course, this is awesome if not alone for the Windows people, where
> ninja is available but make is not.

As was said, there are various make-incarnations or tools reading GNU
or NMake makefiles. In addition ninja support in CMake is still
disabled on Windows and MacOSX since the generator does not properly
support those platforms yet. Again see the cmake or cmake-developers
list archive for details.

Andreas




More information about the KDevelop-devel mailing list