All efforts to maintain "Best Practices" CMake templates are being merged into https://github.com/cpp-best-practices/cmake_template
Important the new cmake_template is simplified in many ways to make it more maintainable, and the goal will be to always keep it simple.
This is a C++ Best Practices GitHub template for getting up and running with C++ quickly.
By default (collectively known as ENABLE_DEVELOPER_MODE
)
- Address Sanitizer and Undefined Behavior Sanitizer enabled where possible
- Warnings as errors
- clang-tidy and cppcheck static analysis
- conan for dependencies
It includes
- a basic SDL example
- examples for fuzz, unit, and constexpr testing
- large github action testing matrix
It requires
- cmake
- conan
- a compiler
For a simplified project, check out the cmake_conan_boilerplate_template.
Ths Boilerplate project will merge new features first, then they will be merged (as appropriate) into gui_starter_template.
First, click the green Use this template
button near the top of this page.
This will take you to Github's 'Generate Repository' page.
Fill in a repository name and short description, and click 'Create repository from template'.
This will allow you to create a new repository in your Github account,
prepopulated with the contents of this project.
After creating the project please wait until the cleanup workflow has finished setting up your project and commited the changes.
Now you can clone the project locally and get to work!
git clone https://github.com/<user>/<your_new_repo>.git
See Catch2 tutorial