Boost logo

Boost :

From: Alexander Grund (alexander.grund_at_[hidden])
Date: 2024-03-25 11:34:03


Am 23.03.24 um 19:49 schrieb Hassan Sajjad via Boost:
> 3) And will also require them to know hmake.
> The alternative is to learn the command-line.
The commandline is a closed set. I.e. there are a few allowed switches
with a few allowed values.
E.g. for b2 it is `b2 variant=release`, `b2 variant=debug` or even `b2
variant=release,debug`

In your example C++ is used which means the possible things you can do
are literally unlimitted. This makes it much harder to use.

> hbuild could be configured to pass command-line options to our hmake.cpp where we can parse them and define configurations based on those variables.
Now library authors need to add and maintain code for command-line
parsing just to build. Not an improvement IMO.
Especially as it means that different libraries might parse the
commandline differently. Especially for Boost which is a collection of
libraries, not a single one., although they get built together.

Another downside of your example: To build only a release build, which
is likely the only thing users care about, you need to set 2 cache
variables.
This is one reason an established build system is better: People know
things like this or they have been solved/improved over the time the
build system already exists.

Also the supposed benefit of faster compile times isn't convincing for
me: In your example you saved 5 seconds.
I don't really build often and especially I don't build from scratch
often but rather do incremental builds. So the saved time compiling
doesn't make up the time writing stuff for a new build system.

So my vote would be NO on this proposal.

PS: Please also read the mailing list rules as already indicated by
others, especially https://www.boost.org/community/policy.html#quoting




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk