Skip to content

Releases: filipdutescu/modern-cpp-template

Release v4.1.0

07 Oct 19:06
5029171
Compare
Choose a tag to compare

Features

  • Add a _DEBUG macro for Unix systems, alongside the MSVC one (GH-31)

Release v4.0.1

04 Oct 17:54
Compare
Choose a tag to compare

Fixes

  • Verbose output now prints the sources and headers found (GH-29).

Release v4.0.0

30 Sep 18:15
Compare
Choose a tag to compare

Fixes

  • Fixed the default cmake/Conan.cmake file to work out of the box (#28)

Release v3.1.0

20 Aug 19:48
Compare
Choose a tag to compare

Fixes:

  • MSVC runtime library not being setup properly (#24)
  • Removed ${PROJECT_NAME}_BUILD_SHARED_LIBS in favour of the standard CMake BUILD_SHARED_LIBS (#26)

Release v3.0.0

05 Aug 21:59
Compare
Choose a tag to compare

Various bug fixes

Release v2.0.0

16 Aug 08:36
Compare
Choose a tag to compare

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

17 Jul 20:08
Compare
Choose a tag to compare
fixed GoogleTest CMake import

Release v0.1.0

03 Jul 19:34
Compare
Choose a tag to compare

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