Boost logo

Boost :

From: Mojca Miklavec (mojca.miklavec.lists_at_[hidden])
Date: 2024-04-09 18:02:37


Hi,

On Tue, 9 Apr 2024 at 11:57, Hassan Sajjad via Boost wrote:
>
> I've added a new section to the documentation
> https://github.com/HassanSajjad-302/HMake?tab=readme-ov-file#hmake-architecture.
> Please spend some time exploring this. I believe you will like it.
>
> I wrote hmake.cpp for compiling Boost Math with C++20 modules,
> which you can find at
> https://github.com/HassanSajjad-302/math/blob/modules/hmake.cpp.

Nice, thank you.

Please keep in mind that I'm just a random user (I'm not affiliated
with Boost development in any way). But I would like to better
understand a few use cases.

1.) I have a large C++ project written with the CMake build system
that uses FetchContent to download and compile Boost sources on the
fly (so that we don't have to store boost sources inside our own
codebase). Rewriting the build system of that main project from CMake
to hmake would be way too expensive, so I would like to know if I
could use a dependency that only has hmake support (and no CMake).
That project needs to be cross-compiled to aarch64-linux on a x86_64
machine.

Can you please publish an example to demonstrate how to achieve this
assuming that CMake support gets removed from Boost and only hmake
support is left there one day?

2.) I'm also interested in a different scenario. Let's say that I'm
willing to invest a lot of time/money into rewriting the build
configuration for my CUDA project into hmake, but I need to link to
another library that only has CMake support. Can you please also
publish an example written in hmake that only compiles the main C++
project using hmake, but correctly passes the configuration for
building the dependency (you can use Boost as a sample dependency)? I
would like to compile the C++/CUDA project for Windows on a Linux box.

For both questions it would probably be a lot more helpful to see them
addressed in documentation/examples of the repository itself. (If you
just answer it here, the answers would "get lost", while they would be
easy to find if you put sample code into the repository.)

3a.) And an unrelated question. Assuming that the company where I work
decides to spend a lot of time and money rewriting our build system to
hmake: do you have any business plan to guarantee development of hmake
for the foreseeable future, so that we can rely on bugs getting fixed
in a timely manner and missing features being implemented long enough
that our effort won't have to be repeated again (to rewrite the build
system back to something else due to lack of support in hmake)? I'm
particularly worried about this aspect of the equation because you
mentioned that you wouldn't be able to afford to work on hmake in the
future unless you get some funding right away.

3b.) Assuming Boost would in fact fund you. What would you suggest to
do with the remaining two build systems? Drop one or both of them?
Keep all three build systems around? And since there would definitely
be more bugs and features popping up in the future: how do you imagine
maintaining hmake in the long run when that one month of funding is
over?

Thanks a lot,
    Mojca


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