Releases: filipdutescu/modern-cpp-template
Release v4.1.0
Features
- Add a
_DEBUG
macro for Unix systems, alongside the MSVC one (GH-31)
Release v4.0.1
Fixes
- Verbose output now prints the sources and headers found (GH-29).
Release v4.0.0
Fixes
- Fixed the default
cmake/Conan.cmake
file to work out of the box (#28)
Release v3.1.0
Release v3.0.0
Various bug fixes
Release v2.0.0
Improvements
- Switched to using modes for CMake's
message
function - Updated
clang-format
target to format files according to the project type
Fixes
- Fixed when building executable, which made unit testing libraries fail to link with the project
- Removed hard-coded project name from the testing project's linking step
Release v1.0.0
fixed GoogleTest CMake import
Release v0.1.0
Features
-
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
option, through
Codecov CI integration, -
Package manager support, with Conan and Vcpkg, through their respective
options -
CI workflows for Windows, Linux and MacOS using GitHub Actions, making
use of the caching features, to ensure minimum run time, -
.md templates for: README, Contributing Guideliness,
Issues and Pull Requests, -
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, not just a static or
shared library. -
Ccache integration, for speeding up rebuild times