2017-11-16 6:44 GMT-07:00 Christoph Junghans <jungh...@gentoo.org>:
>
>
> On Nov 16, 2017 6:29 AM, "Brian Evans" <grkni...@gentoo.org> wrote:
>
> On 11/15/2017 10:27 PM, William L. Thomson Jr. wrote:
>> It maybe worth considering switching the default generator in the
>> cmake-utils.eclass from the default of emake to ninja.
>>
>> - : ${CMAKE_MAKEFILE_GENERATOR:=emake}
>> + : ${CMAKE_MAKEFILE_GENERATOR:=ninja}
>>
>> For those with cmake ebuilds you can test this out now via
>>
>> CMAKE_MAKEFILE_GENERATOR="ninja"
>> inherit cmake-utils
>>
>> Working with both cmake and meson. It seems the real performance of
>> meson comes from ninja. I am a bit more a fan of cmake than meson for
>> cpack, generation of deb, rpm, and binary tarball, in addition to
>> sources. That can be done with meson but not as elegantly at this time.
>>
>> ninja is noticeably faster than make. I haven't seen any cases yet where
>> cmake autotools works, and ninja does not. They seem pretty equal, so
>> should be safe. Of course could use testing first.
>
> There are still cases where ninja fails...
>
> Ninja doesn't support Fortran as well.
Besides not supporting the full feature set.

Ninja vs make didn't seem to make big time difference (for cmake at
least). Back in 2013 ago only found a 40sec difference (of an 6.5 min
overall build) when building kdelibs averaging over 3 builds, which
had more than 40s scatter in the individual builds.

That coincides with my own experience outside of portage where ninja
and make are pretty much even for a full build, but ninja is much
faster in figuring out which parts to rebuild in a partial build.

>
>
> I have forcefully set emake in dev-db/{mysql,mysql-cluster} because they
> fail to build with ninja (using the cmake generator) yet emake works
> just fine.
>
> Brian
>
>

Reply via email to