Re: [dev] getting rid of cmake builds

From: LM <lmemsm_AT_gmail.com>
Date: Mon, 2 Oct 2023 07:30:17 -0400

On Thu, Sep 21, 2023 at 5:03 PM Dave Blanchard <dave_AT_killthe.net> wrote:
> I attached an example script which one could use to bootstrap cmake in a
> LFS type environment during the initial tool build, or pick and choose the
> necessary bits in order to bootstrap a custom cmake on their own live
>running system.

Thank you.

> If you want to write a cmake replacement in tight, robust, well-commented
> C that does most everything cmake does, at least for the use case of
> Linux/BSD software builds (I don't care about Windows or other platforms),
> I'd certainly love to give it a try; but on my own system, from the
> perspective of Getting Things Done,

I haven't written one, but while trying different build systems, I came
across CDetect. It only replaces the configure part of a standard gnu
autotools build, not the make part. There's some documentation on it here:
https://cdetect.sourceforge.net/
https://github.com/IngwiePhoenix/cDetect/wiki/Documentation:-The-general
Considering it's only 3 files (or 4 if you count the one you create for
the project that uses them), it does a lot and is much more compact than
tools like cmake.

I've been using it for my own projects for a while now and if I have
issues with building a FLOSS package, I often create my own build by
hand with CDetect and make. I've been adding features to the original
CDetect such as better support for cross-compiling and hope to upload my
own version when I have the time to do so. Thanks to everyone for the
interesting comments on build systems. I've been researching the topic
for a while since I've never been happy with more commonly used
solutions. I'm aware of GNU make (which adds its own special features),
POSIX style makes and Plan 9 has mk. I'm curious, for those using a
variant of the standard POSIX make, where do you find the source code?
The BSD systems have their own version of make and I've seen some very
old code for make in Usenet archives. Which do you use and has it been
ported to Linux? I've been working on a build system to be able to create
reproducible builds. I have a tool that can generate makefiles but at
present, it's targeted to GNU make. I'm wondering how much effort would
be involved to have it generate files for other versions of make. I'm
guessing my biggest hurdle will be dealing with the differences in
wildcard syntax.

Thanks again. Always find discussions on build systems such an interesting
topic since there are a large variety of tools available and each has its
own pros and cons.
Received on Mon Oct 02 2023 - 13:30:17 CEST

This archive was generated by hypermail 2.3.0 : Mon Oct 02 2023 - 19:00:09 CEST