![]() |
Boost : |
From: Artyom Beilis (artyom.beilis_at_[hidden])
Date: 2025-05-06 14:54:43
On Tue, May 6, 2025 at 5:05â¯PM René Ferdinand Rivera Morell
<grafikrobot_at_[hidden]> wrote:
> On Tue, May 6, 2025 at 2:52â¯AM Artyom Beilis via Boost <boost_at_[hidden]> wrote:
>> > . I am proposing to replace b2.
>>
>> While I can agree that b2 isn't particularly good build system by any
>> stretch of imagination
>
>
> Specific build systems, and all software, has advantages and disadvantages. We would benefit from feedback as to improvements we can make to our tools.
>
See, I discussed it a lot back in 2011 on this list.
As bottom line when I worked on Boost.Locale having large experience
with both, autotools cmake and even basic makefiles I totally failed
to perform all tasks I needed
I don't recall exactly but basic stuff like finding 3rd party
libraries or conditional builds was total nightmare and very hard to
maintain.
Compare for example cmake:
https://github.com/boostorg/locale/blob/develop/CMakeLists.txt
and jamfile https://github.com/boostorg/locale/blob/develop/build/Jamfile.v2
that is twice as large and some tests that are built in in cmake
(like test header/library) are generated in separate build
The concept of "conditional flags" per build makes anything beyond
simple tasks very challenging
I couldn't complete the build system on my own and Vladimir Prus had
come to my rescue...
Even after that I failed to create conditional tests (so I just put
ifdef to make them do nothing) but I think Alexander Grund that took
the maintenance from me and does absolutely amazing job had fixed it,
Bottom line, in my opinion bjam is a very limited build system. Maybe
it servers Boost ok, but I would never choose one outside the scope
mostly due its design of doing everything in the same flow under
all conditions rather than the much simpler and easy to use CMake approach.
I don't tell cmake is perfect - ohhh boy it isn't but I find it much
more manageable, easy to use and well documented.
Maybe stuff had changed since 2011 but for me it was very unpleasant
experience, and I worked with autotools that were surprisingly simpler
to use (at least for me)
So take my words with a grain of salt :-)
Artyom
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk