Avoid using C++20 features to keep the libraries maintainable on older systems
The BornAgain installer and the Python packages could not be produced on the build machines due to the usage of C++20 features (for instance, ranges
or numbers
).
The installer and package produced on the CI machines crashed due to undefined symbols in the BornAgain shared libraries.
As the installer and Python packages must be built on older systems for compatibility, any usage of new C++ features must be protected by some macros (e.g., BA_CPP_20
) and remain optional.
Edited by Ammar Nejati