Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2024-05-22 07:58:22


Boris Kolpackov wrote:
> Peter Dimov via Boost <boost_at_[hidden]> writes:
>
> > 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.
>
> That may be true, but if you took a vote among all the Boost users asking them
> which build system Boost should drop, I think it's pretty clear what the large
> majority's answer would be.

If we supported build2 and CMake and we took that same vote, I'm
fairly sure what the answer would be, too.

> A less obvious benefit of dropping one of the two build systems is that it frees
> you up to potentially adopt a forward-looking build system (or rather build
> system + package manager toolchain). While supporting two build systems has
> its overheads, supporting three would be untenable.
>
> I guess another way of putting it, what substantial benefit does
> b2 provide to Boost that is not provided by CMake ...

>From my point of view, some examples are

b2 toolset=msvc-14.3,gcc warnings=extra warnings-as-errors=on

or

b2 toolset=msvc-14.0,msvc-14.1,msvc-14.2,msvc-14.3 cxxstd=14,latest variant=debug,release

or

b2 toolset=gcc,clang undefined-sanitizer=norecover

or

b2 libs/something/test

where that last line doesn't need a separate run with -DBUILD_TESTING=ON, or
-DBOOST_INCLUDE_LIBRARIES=something, or a separate ctest run, all test types
are supported equally well, and everything is automatically parallelized.

Some of these are easy to add to CMake, others not. (But then again, they have
still not been.)


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