Releases: bemanproject/exemplar
Presets to FetchContent
About
This change sets all CMake presets to use FetchContent explicitly. Note that this could be a breaking change for users that use presets in other circumstances. Please use explicit, step-by-step CMake workflows to build in situations where downloading dependencies over git protocols is inappropriate or unavailable.
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
- Set CMAKE_PROJECT_TOP_LEVEL_INCLUDES in base preset by @steve-downey in #142
Full Changelog: 2.1.0...2.1.1
Development Workflow Improvements
About
- Several improvements to documentation
- Added templates for issues and pull requests
- CMake presets enable parallel builds by default
- Cleaned up style issues in CMakeLists.txt
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
- Update documentation lines in CMakeLists.txt to accurately reflect … by @bolry in #138
- Update CODEOWNERS: append core-reviewers to CODEOWNERS by @neatudarius in #130
- Issue and PR templates by @wusatosi in #124
- Fix typo in PR template by @wusatosi in #144
- CMake workflows build in parallel by default by @ednolan in #145
- CMake: Add -fsanitize-undefined-trap-on-error to MaxSan configuration by @ednolan in #146
- Fix some minor typos in README.md by @ednolan in #147
- Add Windows subsection under local development section by @ednolan in #148
- Improve the Fetch gtest workflow docs by @steve-downey in #140
- Support the use of CTest launchers by @purpleKarrot in #109
- Remove changelog file by @neatudarius in #152
- Enable export compile command by @wusatosi in #151
- Unconditional test target by @bretbrownjr in #153
- Clean up install logic by @bretbrownjr in #154
New Contributors
- @ednolan made their first contribution in #145
- @steve-downey made their first contribution in #140
- @purpleKarrot made their first contribution in #109
Full Changelog: 2.0.0...2.1.0
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.
Changelog
- 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
Full changelog: 1.0.0...2.0.0
New Contributors
- @chayden83 made their first contribution in #121
Initial Release
About
This release implements full support of std::identity
as proposed in Standard Library Concepts (P0898R3).
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.
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.
Changelog
- 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
Full changelog: https://github.com/bemanproject/exemplar/commits/1.0.0
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