
Generally speaking your "benefits list" has quite bold statements
Are you proposing replacement of b2 for Boost or just yet another build system to the club?
These statements are based on concrete evidence. I am proposing to replace b2. And why is it good? I mean you need to have a really good point to make
build system that uses C++ files to define a build...
3x faster compilation in Release and >5x faster in Debug mode for Boost and better for bigger projects. No other build-system can do that. HMake will have a few other game-changing features in the future as well. It is not possible to evolve a DSL based build-system like that.
I mean today CMake is the most common industry standard build system
that works really well. Why would you want to use it over something like this?
CMake can not support C++20 header-units. One benefit that I forgot is that once you have compiled your project with header-units in HMake and you want to move to C++20 modules, you do not need to make a single edit in your configuration file (Not true for projects like Boost which want to support both header-files and modules. In this case some macro definitions will be needed). With this, #10 and #8, C++20 modules and header-units become an absolute bliss to use with HMake. See build systems run multiple tests (cmake, autotools and others) to make
sure that everything is as expected. How exactly do you think you'll be able to speed it up? Because most of the configuration time is actually performing checks like potential dependencies, test builds, etc.
By caching the results and not running tests every time. Also, configure.exe uses the same code that is used by build.exe. It is fully parallel as well. Now I don't want to discourage you but it is a really non-standard
approach to build.
Isn't it superior, though? And on more technical details: while it is more than ok to share ideas,
generally speaking seeking of an endorsement is something done to get ready for a review... Not sure it is even close to it.
How so? Best, Hassan Sajjad On Mon, May 5, 2025 at 5:49 PM Artyom Beilis via Boost < boost@lists.boost.org> wrote:
Hi,
Following is a comprehensive list of benefits that HMake provides
compared
to b2 or other build-systems.
Generally speaking your "benefits list" has quite bold statements
Are you proposing replacement of b2 for Boost or just yet another build system to the club?
1) Using C++ itself. You have to learn a library interface, but not a new programming language.
And why is it good? I mean you need to have a really good point to make build system that uses C++ files to define a build...
4) Very performant and efficient. On par with Ninja in both metrics, if not better. Some optimizations are still under development.
So how would it be better than just old good cmake + ninja?
I mean today CMake is the most common industry standard build system that works really well. Why would you want to use it over something like this?
Serious question that needs a deep answer.
5) Fast configuration. Configuration will always be less than 5s ( even with up to 10 full Boost configurations on Windows ).
See build systems run multiple tests (cmake, autotools and others) to make sure that everything is as expected. How exactly do you think you'll be able to speed it up? Because most of the configuration time is actually performing checks like potential dependencies, test builds, etc.
Now I don't want to discourage you but it is a really non-standard approach to build.
And on more technical details: while it is more than ok to share ideas, generally speaking seeking of an endorsement is something done to get ready for a review... Not sure it is even close to it.
Regards, Artyom
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost