Automatically install the OOP C++ header#379
Conversation
|
Looks good to me.
|
No, not needed. Everything is being checked in the CI. So it was more whether or not you agree with the concept.
I believe (if I recall correctly) that this discussion was RE the Fortran side. |
|
Note that the C++ header was installed in the past, but I decided to no longer do that in commit addf958. See the commit for a better way to install it. However, every interface that we decide to support adds a lot of maintenance burden to us and SemVer restricts us in ways in which we can change it. As far as I can remember we bent the rules quite a bit with C++ and thus I would refrain from calling it an official API, which are C, Python and Rust. C++ and Fortran are wrappers, both of which use the C interface. We can change the wrappers anytime we want and in any way we see fit, because we assume the people using the wrappers copy them to their source tree. I think this is a good practice and I would keep it that way. |
So far, the OOP C++ header had to be copied manually into where the C header is located or within the project. This allows one to specify a
PINEAPPL_C_INSTALL_PREFIXenvironment variable so that the header is automatically copied at build time. The release workflow has also been adjusted so that this is automatically installed when copying the pre-built binaries:curl --proto ... | sh -s -- --prefix /my/custom/installation/pathTO DO: