Releases: bernedom/bertrand
Releases · bernedom/bertrand
Optional installation
Streamlining build process
- Moving to clang9 for CI, because clang 6.0 is no longer available
- Removing steps to deploy to bintray, because it has been shut down
- Streamlining CMakeLists.txt a tiny bit
Full Changelog: 0.0.15...0.0.16
Inline all the functions (and put them into namespaces)
- Fix bug caused by non-inlining header-only function
- refactored all bertrand-related functions into namespace
bertrand
Stacktrace for failed contracts
- bertrand prints stacktrace on a failed contract (for gcc and clang)
- Rename branch master to main
Helper function to compare multiple values
- Add function to search for a value in a list of values that are known at compile time
- Update Catch2 to version 2.13.1
- Update documentation with hint about ConanCenter
Contract type "Require", "Ensure" or "Invariant" is included in message
- Contract type "Require", "Ensure" or "Invariant" is included in message
- conanfile.py pulls version out of CMakeLists
- Linting conanfile.py, cmake object is only generated once
Building from within conan
If bertrand is built from within conan the conanbuildinfo provided by conan will be used instead of getting it from github
Conan based dependency management
- Including bertrand as a subdirectory in cmake disables building the tests
- Catch2 is retrieved with conan and no longer directly in the source tree
Contracts take variable number of arguments as message
An example is better than a lengthy explanation:
Require(false, "Something is not right: ", someVariable, " and ", anotherVariable)
Lightweight usage as a sub-project
- Add cmake option
BERTRAND_BUILD_TESTING
(defaultON
) to disable bertrand tests if used withadd_subdirectory