Skip to content

A template CMake project to get you started with C++ and tooling

License

Notifications You must be signed in to change notification settings

LtdSauce/cpp_starter_project

 
 

Repository files navigation

cpp_starter_project

ci codecov Language grade: C++

About cpp_starter_project

This is a C++ Best Practices GitHub template for getting up and running with C++ quickly.

By default (collectively known as ENABLE_DEVELOPER_MODE)

  • Address Sanitizer and Undefined Behavior Sanitizer enabled where possible
  • Warnings as errors
  • clang-tidy and cppcheck static analysis
  • conan for dependencies

It includes

  • a basic CLI example
  • an example of using SDL
  • examples for fuzz, unit, and constexpr testing
  • github action testing matrix for all 3 platforms

It requires

  • cmake
  • conan
  • a compiler

If you want a simplified boilerplate, check out the cpp_boilerplate_project.

Ths Boilerplate project will merge new features first, then they will be merged (as appropriate) into cpp_starter_project.

Getting Started

Use the Github template

First, click the green Use this template button near the top of this page. This will take you to Github's 'Generate Repository' page. Fill in a repository name and short description, and click 'Create repository from template'. This will allow you to create a new repository in your Github account, prepopulated with the contents of this project.

After creating the project please wait until the cleanup workflow has finished setting up your project and commited the changes.

Now you can clone the project locally and get to work!

git clone https://github.com/<user>/<your_new_repo>.git

More Details

Testing

See Catch2 tutorial

Fuzz testing

See libFuzzer Tutorial

About

A template CMake project to get you started with C++ and tooling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CMake 40.9%
  • C++ 27.1%
  • Dockerfile 25.4%
  • Shell 6.6%