A modern C++ project boilerplate with CMake, testing, CI/CD, and coverage reporting.
cpp-project is a boilerplate template for C++ projects that provides a pre-configured foundation with modern development tools. It includes a structured directory layout, CMake build system, testing framework setup, and continuous integration configurations to streamline project initialization. The template solves the problem of repetitive setup tasks, allowing developers to focus on writing code rather than configuring build pipelines.
C++ developers starting new projects who want a standardized, production-ready setup with integrated testing and CI/CD. It's particularly useful for open-source contributors, students, and teams adopting modern C++ practices.
Developers choose this boilerplate because it bundles essential tools (CMake, doctest, CI services) into a single template, reducing setup time from hours to minutes. Its opinionated structure enforces best practices, while remaining flexible enough to adapt to various project needs.
Boiler plate template for C++ projects, with CMake, Doctest, Travis CI, Appveyor, Github Actions and coverage reports.
Uses modern CMake practices for easy building and dependency management, as shown by the simplified CMakeLists.txt that requires only a few lines to add new executables.
Pre-configured with doctest for unit testing, including a dedicated tests directory and seamless integration with CI services for automated testing on each commit.
Includes ready-to-use configurations for Travis CI, Appveyor, and GitHub Actions with C++17 support, ensuring cross-platform testing and deployment from the start.
Supports automatic documentation generation with Doxygen and code coverage reports uploadable to Coveralls or Codecov, streamlining project metrics and maintenance.
Enforces a specific folder layout (src, include, app, tests) that may not suit all project types, such as header-only libraries or applications with unconventional architectures.
Relies on third-party CI services like Travis CI and Appveyor, which have evolving free tiers and may require manual setup or updates, adding potential maintenance burden.
Default integration with doctest might not meet the needs of teams accustomed to other testing frameworks like Google Test, requiring additional configuration changes.
🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
CMake Cookbook recipes.
Pitchfork is a Set of C++ Project Conventions
A collection of as simple as possible, modern CMake projects
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.