At Tue, 18 Jun 2024 19:42:59 -0600, Warner Losh <imp(a)bsdimp.com> wrote:
Subject: [TUHS] Re: Version 256 of systemd boasts '42% less Unix philosophy' The
Register
On Tue, Jun 18, 2024, 7:38 PM Greg 'groggy' Lehey <grog(a)lemis.com>
wrote:
On Tuesday, 18 June 2024 at 17:03:07 -0600,
Warner Losh wrote:
On Tue, Jun 18, 2024, 4:50 PM Greg A. Woods
<woods(a)robohack.ca> wrote:
CMake is the very antithesis of a good tool. It doesn't help. I think
it is perhaps the worst abomination EVER in the world of software tools,
and especially amongst software construction tools.
Someone clearly never used imake...
I've used both. I'm with Greg (Woods): cmake takes the cake.
Cmake actually works though...
Well, maybe, sometimes, for some limited set of pre-tested targets.
Which was true for imake as well, but....
Last time I had to use cmake it took significantly longer to build the
monster than it did to build the entire current-at-the-time GCC release.
When it runs it usually chews through far more CPU cycles and requires
far more RAM than the equivalent Autotools configure script, even
including running autoconf et al to build the script first.
Its design and implementation ignores the entire history and legacy and
knowledge bank of existing tools and lore used to build portable
software and throws the one or two existing tools it does pay homage to
in your face to spite you. It couldn't ignore Unix philosophy harder
and more completely than it does.
For example it can't generate a working makefile or script that can then
be used without it! At least I couldn't convince it to do so.
At the time I was hacking on a project that claimed to require it, it
couldn't even properly parse a string and had trouble with parenthesis.
I don't remember the details, but it was very ugly and required stupidly
obtuse and self-limiting workarounds.
I used to think libtool was the worst software construction tool
imagined (well worse than the rest of Autotools), but cmake is many
orders of magnitude worse.
I will not ever allow cmake to run, or even exist, on the machines I
control. Sometimes some tools are just too dangerous to have in the
house or workshop, no matter how handy others claim they might be.
Using cmake is like _forcing_ you to use a flame thrower to light your
portable gas barbecue at a camp site in a tinder-dry forest. Inevitably
someone or something is going to get hurt/destroyed.
Sorry, cmake is a hot button for me, as you can see.
--
Greg A. Woods <gwoods(a)acm.org>
Kelowna, BC +1 250 762-7675 RoboHack <woods(a)robohack.ca>
Planix, Inc. <woods(a)planix.com> Avoncote Farms <woods(a)avoncote.ca>