Yes. I intend to first coexist with b2 for a brief period and then replace it. Yes, it supports pre C++20 builds and it will support Boost internal test suite. This is not trivial at all.
I am highly confident. Please see that what this achieves is non-trivial
as-well.
https://github.com/HassanSajjad-302/SFML/blob/43a9a2af28f6ec9656f0294fa62c1e...
.
In header-unit configuration, t compiles 232 header-units ifc and 1308
module-files(consumer of these ifc). Eight DLLs are compiled
(automatically copied to dependent executables). 17 different targets are
compiled. A target is a group of files with same compile-command. targets
can have other targets as dependencies which impacts the dependent target's
compile and link command. These targets are compiled in 3 different
configurations. So, a total of 51 targets is compiled. And 24 library
targets are compiled (8 shared libs, 16 static libs), others are
header-only libs. More configurations could be defined very easily as-well.
And that's all in 200 lines.
I have experience with b2 which would be helpful as well.
On Fri, Mar 22, 2024 at 12:36 AM Ruben Perez
1) 2-months: Boost basic configuration compiled with C++20 header-units. This is more of a lone sprint.
Can you please elaborate on what this means? Are you intending to replace the build mechanism we ship to users (as in when they build Boost by typing ./b2 --with-X)? If that's the case, does your system support pre C++20 builds, which we support? Or Boost internal test suite?
2) 3-months: All boost current configurations + new with header-units and
modules + tests and examples.
Bear in mind that we have many libraries and each one has really extensive suits. This is not trivial at all.
Thanks, Ruben.