vectorclass / version2

Vector class library, latest version
Apache License 2.0
1.3k stars 148 forks source link

Any interest in using a build system ? #62

Closed AdelKS closed 1 year ago

AdelKS commented 1 year ago

Hello!

First, thank you very much for your extensive HPC documentation, it has been a delicacy to read and a precious source of information.

Now that I plan to seriously use the library, I had to wrap it in the build system I use, to have a clean approach, and I am wondering if you are interested in such a thing: I forked this repository and moved it to the meson build system (that I personally find more "high level" than cmake, thus easier to deal with), you can have a look at it here.

Some information related to the move to meson:

The benefits of having a build system:

Downside:

For anyone else who want to use this library with meson, here you go!

My plans (if it's of any interest) :

One suggestion I can make is about the documentation: I think it's better to write the documentation (vcl_manual.tex) in markdown instead, for the following reasons :

If you are interested, I can work in a first conversion of the documentation to markdown.

Thanks again, cheers!

Adel

AgnerF commented 1 year ago

Thank you for your proposal. I don't want to confine the vector class library to any particular build system. Many users will prefer different build systems for various reasons. The Apache license allows you to make any forking you like, but it would be your responsibility to keep it up to date.

The manual in .pdf format can be read in standard web browsers. I made it from .tex so that github can show diffs.

AdelKS commented 1 year ago

Thank you for your feedback!

There's one thing I wasn't clear enough on, about the build system: I was making the suggestion to you in particular. When I talked about the build system lock-in, it was regarding your own use of your library, in the sense that you would have to change your own development process to integrate the build system, and switching to another one will require yet another learning curve. Otherwise, the library can offer support for various build systems at the same time: the folder structure of the project can be fixed, and interested parties can simply contribute the build system they use, for example. But the main one would be the one you would adopt.

Also, I expect that this library is not packaged by linux distributions because of the lack of build system :thinking: not that it makes any significant difference with the simple way we can use the library, as it is (nearly) header only.

I understand very well your stance in both using a build system and about using Latex.

Shall we close this issue or keep it open so people who are interested in using build systems see it ?

Thanks again!