jdiego / cppgit

cppgit is a libgit2 wrapper library for use in modern C++ ( >= C++20)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Modern C++ Template

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!

Features

  • Modern CMake configuration and project, which, to the best of my knowledge, uses the best practices and the Modern CMake practices
  • Suited for single header libraries and projects of any scale
  • Options to build as a header-only library, static library or shared library.
  • Package manager support, via CPM.cmake, to reproducible dependency management
  • Unit testing support through doctest
  • TODO: Installable target with automatic versioning information and header generation via PackageProject.cmake
  • TODO: CI workflows for Windows, Linux and MacOS using GitHub Actions
  • TODO: Code coverage, enabled by using the ENABLE_CODE_COVERAGE option, through Codecov CI integration codecov
  • Code formatting enforced by clang-format and cmake-format via Format.cmake
  • TODO: Static analyzers integration
  • TODO: Ccache integration, for speeding up rebuild times

About

cppgit is a libgit2 wrapper library for use in modern C++ ( >= C++20)

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:CMake 76.9%Language:C++ 10.8%Language:Python 7.7%Language:Makefile 4.6%