Gentoo Archives: gentoo-dev

From: "William L. Thomson Jr." <wlt-ml@××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: cmake + ninja vs autotools
Date: Sun, 19 Nov 2017 18:01:01
Message-Id: assp.04967a74fa.20171119130049.31150863@wlt.obsidian-studios.com
In Reply to: [gentoo-dev] Re: cmake + ninja vs autotools by Martin Vaeth
1 On Sun, 19 Nov 2017 16:49:51 +0000 (UTC)
2 Martin Vaeth <martin@×××××.de> wrote:
3
4 > William L. Thomson Jr. <wlt-ml@××××××.com> wrote:
5 > >
6 > > case ${CMAKE_MAKEFILE_GENERATOR} in
7 > > emake)
8 > > DEPEND="sys-devel/make"
9 > > ;;
10 > > ninja)
11 > > DEPEND="dev-util/ninja"
12 > > ;;
13 >
14 > This is broken: Static metadata like DEPEND must not depend
15 > on dynamic data like environment variables which are supposed
16 > to change at emerge time.
17
18 I wondered about that. I guess adding to DEPEND via eclass is bad then.
19
20 > > Only 2 thus far does not sound like most things would have issues.
21 >
22 > In fact, almost nothing has issues.
23
24 That has been my experience why I brought it up.
25
26 >I am using
27 > CMAKE_MAKEFILE_GENERATOR=ninja in my make.conf
28 > since years, and the total list of packages which had
29 > ever failed here (out of currently ~1500 installed)
30 > is this:
31 >
32 > dev-util/cmake
33 > kde-apps/kate
34 > kde-apps/gwenview
35 > media-libs/avidemux-core
36 > media-libs/avidemux-plugins
37 > media-video/avidemux
38 > media-video/kaffeine
39 > media-video/kmplayer
40 > net-vpn/kvpnc
41 > sci-mathematics/reduce
42 >
43 > This list might appear long, but note that
44
45 That is not that long and seems to favor heavily in ninjas favor. Seems
46 considerably more have no issues with ninja than make.
47
48 Thanks for that information!
49
50 > > Ninja is most of the speed of meson less configure time savings
51 >
52 > ++
53 > For eix, the main motivation to support meson as an
54 > alternative build system was to be able to use ninja...
55
56 For new projects I do not want a deb or rpm I like meson +
57 ninja. For all other stuff I prefer cmake + ninja. Kinda best of both
58 worlds. At least till meson can spit out deb and rpm, not just rpm spec.
59
60 I also like how cmake updates po files. Not sure about pot file, meson
61 does have something there, and can update them. Just a separate
62 process. cmake updates po all the time, I like that :)
63
64 But either way meson or cmake, ninja is the main speed for compiling.
65 Though I do like the cmake make output formatting and color, etc.
66
67 --
68 William L. Thomson Jr.

Replies

Subject Author
Re: [gentoo-dev] Re: cmake + ninja vs autotools Michael Orlitzky <mjo@g.o>