This is a major release resulting from the move to the asap
project template for a much better and richer CMake based project.
⚠ BREAKING CHANGES
- The project requires C++17 as it is widely available in compilers now. Logical
traits such as conjunction, disjunction and negation are available from the
<type_traits> standard include. - major redesign of the cmake build system, many macros and functions have been
changed and the build system overall has been simplified. - several 3rd party dependencies that were integrated as submodules are now
either removed or pulled on-demand using `CPM. catch2
has been replaced by Google Test/Mock, which provide more features,
less compiler earnings and are more popular. Catch2 or any other framework can
still be easily added and used.
Features
- compiler caching with
ccache
- the C++ GSL library ready to use
- a robust and simple way to add modules to the project
- formatting, linting, code coverage, valgrind, sanitizers,... all within reach
via a simple option or a few lines of cmake script - better documentation and an integrated way to generate doxygen and sphinx docs
- CI with GitHub actions