Skip to content

bugwelle/cpp-starter-project

Repository files navigation

Codacy Badge MIT license Travis CI Build Status AppVeyor Build StatusGitLab CI Pipeline Status codecov

cpp-starter-project

This project is not finished, yet!
Even if this readme says that it uses/supports X, that may not be the case, yet!

cpp-starter-project is a personal starter project for modern C++ development. Its goal is to offer a set of modern tools and resources to interested developers (e.g. students) that want to create executable programs. This project is not intended for creating libraries.

Why?

I found many C++ starter projects and even more tutorials that give a good introduction into starting new C++ and CMake projects but none of them were either up-to-date (speaking C++20 and CMake >= 3.12) or had all features that I'd like to have like package managers or continuous integration.

Documentation

Documentation about how this starter project is structured and which continuous integration services, etc. are used can be found in docs/cpp-starter.

Generated Sphinx documentation can be found at https://bugwelle.github.io/cpp-starter-project/

Features

This project aims to be a full-fledged entry point for new medium-sized projects.
Following features are included:

What's not included?

This project no longer uses Conan as package manager. I've also not included VCPKG or other package managers. None are perfect, all have their drawbacks. If you want to use Conan, you can still do so. Please refer to their "Getting started" guide.

Inspiration

This project was inspired by:

License

See LICENSE. This project contains third-party software like CMake modules and C++ libraries. See section "Third Party".

Third Party

This project uses:

We also use some CMake modules. See cmake/README.md.

Notes

Because we use range-v3 and other modern C++ features, we only support these compilers:

  • Windows
    • MSVC 2017 version >= 15.9
    • TODO: MinGW64
  • macOS
    • TODO: clang
    • TODO: GCC
  • linux
    • TODO: clang
    • TODO: GCC

About

[Work in Progress] Personal starter project for modern C++ development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published