Releases: bemanproject/exemplar
Build System Improvements
About
This release adds improved support for more environments by adjusting its build system internals to better match best practices. This is an important step to prepare Beman Exemplar to be listed on popular package managers such as ConanCenter and vcpkg.
Users that are accustomed to Exemplar downloading and building its GoogleTest dependency from source might find new configure-time issues that look like a failure in a find_package
call. Installing GoogleTest with your existing packaging system should resolve that issue. Otherwise, new support and documentation entitled "Build GoogleTest dependency from github.com" has been added to provide fairly simple support for opting back into downloading GoogleTest source code during the build process.
Alternatively, because Beman Exemplar uses CMake best practices, upstream CMake documentation is available. The "Using Dependencies Guide" provides options for forcing find_package
calls to dispatch to FetchContent
behavior. If this is interesting, note the OVERRIDE_FIND_PACKAGE
feature of FetchContent_Declare
and documentation for Dependency Providers.
Release Maturity
This release has a status of "under development". It is not recommended for production use. See The Beman Project Maturity Model for more on what this maturity status implies.
What's Changed
- bump gtest by @camio in #128
- Add Basic CMake Config File Package Creation and Installation by @chayden83 in #121
- Rewrite README file by @wusatosi in #111
- Fix typo in Dockerfile by @wusatosi in #131
- Inject FetchContent logic by @bretbrownjr in #105
New Contributors
- @chayden83 made their first contribution in #121
Full Changelog: 1.0.0...2.0.0
Initial Release
About
This release implements full support of std::identity
as proposed in Standard Library Concepts (P0898R3).
Release Maturity
This release has a status of "under development". It is not recommended for production use. See The Beman Project Maturity Model for more on what this maturity status implies.
Additional Notes
The main goal of this release is to allow this repository to be used to iterate on the Beman Standard, its tooling, and its support for the broader C++ ecosystem. Meeting industry best practices for versioned source releases is required for those purposes. Specifically, versioned and tagged releases will be used to ensure support for popular packaging systems such as Conan and vcpkg.
What's Changed
- Created an initial project structure by @bretbrownjr in #2
- Fix install logic by @bretbrownjr in #3
- Add MIT license file by @JamesAdkison in #4
- 🎨 change from cxx/hxx to cpp/hpp by @dustingooding in #10
- Fix CMake module base filename by @bretbrownjr in #13
- Apply the latest Beman Standard by @neatudarius in #15
- Rename beman.example to beman.exemplar by @camio in #19
- Update README.md to reflect new beman.exemplar name by @camio in #20
- Use namespace aliases everywhere by @camio in #23
- Remove Rocky CI support since it is not used. by @camio in #25
- Update CI dependency versions by @wusatosi in #26
- Update CI triggers by @wusatosi in #28
- Implement Use CMake Header File Sets by @wusatosi in #30
- Disable installing gtest when
cmake --install
by @wusatosi in #37 - Install debug build binaries to a separate folder by @ComicSansMS in #39
- Implement schedule fault notification by @wusatosi in #43
- Simplify CMakeLists.txt by @camio in #42
- Introduce basic linting infrastructure by @wusatosi in #34
- fix(readme): fix typos in readme by @linusboehm in #47
- feat: add automatic linting suggestion github workflow by @linusboehm in #46
- Fix review dog by @wusatosi in #50
- Minor CMake change for readability by @camio in #51
- Move Build & Test out of docker by @wusatosi in #48
- Create CMake preset by @wusatosi in #44
- Update project to comply with C++17 by @wusatosi in #55
- Apply [DIRECTORY.TESTS] and [FILE.TEST_NAMES] by @camio in #52
- Fix the examplar link to the beman standard by @dietmarkuehl in #62
- Run TSan and ASan on every C++ version by @wusatosi in #57
- Fix CI by @wusatosi in #71
- Proper permission fix for reviewdog by @wusatosi in #69
- Fix
BUILD_TESTING=off
by @wusatosi in #72 - Apply Beman CMake standard by @wusatosi in #74
- Fix CI by @wusatosi in #75
- Re-enable all examples by @neatudarius in #56
- Apply updated [CMAKE.SKIP_TESTS] by @wusatosi in #78
- Remove
include(ctest)
by @wusatosi in #77 - Codespace support for exemplar by @wusatosi in #63
- [exemplar repo] Update docs: org renamed to bemanproject by @neatudarius in #81
- Add @wusatosi to codeowner by @wusatosi in #83
- Remove BUILD_TESTING variable setting for GTest by @camio in #85
- Introduce MSVC CI support by @wusatosi in #80
- Compiler test by @wusatosi in #84
- Adds appleclang + msvc preset by @wusatosi in #82
- Define the
test
build target more often by @bretbrownjr in #91 - Introduce CMake toolchain by @wusatosi in #76
- Remove block(), endblock() by @wusatosi in #100
- beman.exemplar: change library status to under development (exemplar is a template library) by @neatudarius in #89
- Use parallel build in CI by @wusatosi in #101
- Add appleclang testing to CI by @wusatosi in #99
- No fail fast on CI tests by @wusatosi in #103
- Support BUILD_SHARED_LIBS by @bretbrownjr in #104
- Fix codespace ASAN stall by @wusatosi in #106
- Add skeletons for dev-docs by @wusatosi in #120
- Missing scope in examples/CMakeLists.txt by @bolry in #125
- Add llvm presets by @wusatosi in #123
- Apply the Beman Standard rules related to the Beman Library Maturity Model by @neatudarius in #114
New Contributors
- @bretbrownjr made their first contribution in #2
- @JamesAdkison made their first contribution in #4
- @dustingooding made their first contribution in #10
- @neatudarius made their first contribution in #15
- @camio made their first contribution in #19
- @wusatosi made their first contribution in #26
- @ComicSansMS made their first contribution in #39
- @linusboehm made their first contribution in #47
- @dietmarkuehl made their first contribution in #62
- @bolry made their first contribution in #125
Full Changelog: https://github.com/bemanproject/exemplar/commits/1.0.0