Skip to content

This is a base cmake project with the basic configuration to build a cross-platform c++ application. Triggers the CI to build and run the tests, and run coverage. Uses conan to install dependencies, Catch2 for testing. Format by clang-format

License

Notifications You must be signed in to change notification settings

spjuanjoc/template_project_cpp

Repository files navigation

Template project for C++

This is a base CMake project with the basic configuration to build a cross-platform c++ application for Linux, OSX, and Windows x64. Triggers the CI to build and run the tests, and run coverage. Uses conan to install dependencies: Catch2 for testing, and fmt. Format with clang-format

Requirements

  • CMake > 3.24
  • A C++23 compliant compiler
  • Conan 2.x

Build Status

System App Status
Linux GH Actions linux
OSX GH Actions macos
Win x64 GH Actions windows

Code Coverage

System App Status
Coverage codecov codecov

For codecov add public repository: Codecov Dashboard

Build

Build in debug mode with tests:

mkdir build && cd build
cmake .. -DENABLE_TESTS=True -DCMAKE_PROJECT_TOP_LEVEL_INCLUDES=/abs/path/to/cmake/conan_provider.cmake -DCMAKE_BUILD_TYPE=Debug
cmake --build .

Run tests

ctest -V 

License

About

This is a base cmake project with the basic configuration to build a cross-platform c++ application. Triggers the CI to build and run the tests, and run coverage. Uses conan to install dependencies, Catch2 for testing. Format by clang-format

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published