A quick C++ template for modern CMake projects aimed to be an easy-to-use starting point. This is my personal take on such a type of template, thus I might not use the best practices or you might disagree with how I do things. Any and all feedback is greatly appreciated! Modern CMake configuration and project, which, to the best of my knowledge, uses the best practices. An example of a Clang-Format config, inspired from the base Google model, with minor tweaks. This is aimed only as a starting point, as coding style is a subjective matter, everyone is free to either delete it (for the LLVM default) or supply their own alternative. Static analyzers integration, with Clang-Tidy and Cppcheck, the former being the default option. Doxygen support, through the ENABLE_DOXYGEN option, which you can enable if you wish to use it. Unit testing support, through GoogleTest (with an option to enable GoogleMock) or Catch2. Code coverage, enabled by using the ENABLE_CODE_COVERAGE op.
Features
- Permissive license to allow you to integrate it as easily as possible
- The template is licensed under the Unlicense
- Options to build as a header-only library or executable
- Ccache integration, for speeding up rebuild times
- Unit testing support, through GoogleTest
- Static analyzers integration, with Clang-Tidy and Cppcheck