1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 13:41:13 +02:00
ModernCppStarter/README.md
Lars Melchior e40356919c
Wording
2020-04-11 13:12:45 +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

  • Clone this repo and replace all occurrences of "Greeter" in the CMakeLists.txt
  • Single-header libraries: see the comments in CMakeLists.txt
  • 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.