Re: [dev] getting rid of cmake builds

From: Markus Wichmann <nullplan_AT_gmx.net>
Date: Thu, 21 Sep 2023 21:11:07 +0200

Am Thu, Sep 21, 2023 at 04:05:17PM +0200 schrieb David Demelier:
> Hi,
>
> It's near to impossible to convert a CMake project to make
> automatically, CMake is almost like a scripting language given the
> numerous of things you can do with it.
>
> Keep in mind that plain make (POSIX) is enough for really simple
> projects but can come limited when going portable. Although the use of
> pkg-config helps there are various places where you will need to pass
> additional compiler/linker flags. For those I like GNU make even though
> its syntax is somewhat strange at some points.
>

Leaving aside the question of whether POSIX Make is enough for complex
projects, I do concur that it is not a good fit for a cmake conversion.
If I was tasked with this, I would probably attempt to build a parser
for cmake files (in what language is undecided). And that parser can
then output a shell script that does the same thing as what cmake would
do, i.e. generate a makefile. If necessary, find other packages by
whatever rules and write the results into the makefile.

I've switched to ninja-build for some of my projects, and that is pretty
awesome. Very fast compared to make. The developers basically took the
suckless approach and cut everything out of make that made it slow. The
result is incompatible but so much faster. I mention this because the
approach of generating a makefile is highly encouraged with ninja, so I
just use a shell script for that (and I do my best to keep it portable).

That said, portability is really not my goal. I don't actively prevent
my stuff from running on non-Linux platforms, but I don't actively seek
to have them run and tested, either. So maybe someone with experience on
that field should speak up.

Ciao,
Markus
Received on Thu Sep 21 2023 - 21:11:07 CEST

This archive was generated by hypermail 2.3.0 : Thu Sep 21 2023 - 22:24:08 CEST