Boost logo

Boost :

From: Rob Boehne (robb_at_[hidden])
Date: 2024-05-23 00:13:18




From: Boost <boost-bounces_at_[hidden]> on behalf of Peter Dimov via Boost <boost_at_[hidden]>
Date: Tuesday, May 21, 2024 at 9:28 PM
To: boost_at_[hidden] <boost_at_[hidden]>
Cc: Peter Dimov <pdimov_at_[hidden]>
Subject: Re: [boost] Boost/CMake
Christian Mazakas wrote:
> On Tue, May 21, 2024 at 2:55 PM Vinnie Falco via Boost <
> boost_at_[hidden]> wrote:
>
...
> > 3. Submit pull requests to all libs to update their build scripts for cmake
>
> This will definitely be the most time-consuming part but if we did a library a
> day every day, we'd be done in like a year!

We're already done because all of Boost builds (and installs) with CMake.

> In general, I agree with Richard's sentiment. b2 is holding Boost back...

It's interesting that nobody considers the possibility that b2 is in fact a
better build system than CMake, and consequently, that switching from
b2 to CMake will actually make things _worse_ in some, if not many,
respects.

There's this axiomatic assumption that dropping b2 will automatically
improve things, somehow, and I don't think it's true or warranted.


B2 seems perfectly capable, and it’s use in boost releases mostly proves that – I’m not arguing that CMake has a better feature set, has a more active development community, or is easier to understand. I would argue that CMake is just as good as B2, and it’s advantage is that almost every project in the open source community is using it successfully.

Switching is a costly prospect – but the fact that many boost library developers are already paying that price for the advantages they thing CMake gives them means that it has obvious value.

My own experience is that using b2 has always been a struggle simply because boost is the only thing I have ever encountered that used it. I also recall that CMake 2.x was no panacea, when I first looked into it I was unimpressed, but in 2024 CMake has no rivals and my team uses it for at least 80 different projects, many of which are legacy systems where the main body of work we’ve done is create the CMake build.


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