1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 13:41:13 +02:00
ModernCppStarter/README.md
2020-04-11 12:35:55 +02:00

1.9 KiB

Actions Status Actions Status Actions Status Actions Status

Greeter

A best-practice git template for modern C++ libraries and projects.

Features

  • Modern CMakeLists.txt
  • Suited for single header libraries and larger projects
  • Creates a library that can be installed or included locally
  • Integrated test suite
  • Code formatting enforced via clang-format/Format.cmake
  • Continuous integration via GitHub Workflows
  • Reliable dependency management via CPM.cmake
  • Check compiler warnings

Roadmap

  • Add code coverage checks
  • Add a script to automatically rename project / switch to single-header mode

Usage

Adjust the template to your needs

  • Copy this repo and replace all occurrences of "Greeter" in the CMakeLists and Readme with project's name.
  • Note the comments in the CMakeLists for single-header libraries
  • Have fun!

Build and run test suite

cmake -Htest -Bbuild
cmake --build build
CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --target test
# or simply call the executable: 
./build/GreeterTests

Run clang-format

cmake -Htest -Bbuild
# view changes
cmake --build build --target format
# apply changes
cmake --build build --target fix-format

See Format.cmake for more options.