Welcome to Serious Scaffold Cpp’s documentation#
A continuously evolving basic template for cpp development.
Features#
Project setup and template update with copier.
Containerization for development and deployment with dev container.
Continuous Integration with GitHub Actions.
Automate dependency updates with Renovate.
Fully featured vcpkg integration.
Supports baseline autoupdate.
Supports manifest export mode and build offline.
Supports vcpkg port/triplet/toolchain customization.
Supports vcpkg triplet auto-detection.
Supports vcpkg feature test.
Supports auto loads of vcpkg triplet and toolchain variables.
Build with cmake integration.
Provides sorts of cmake
presets
.Provides vcpkg automatic installation or use existing vcpkg installation.
Provides
static/runtime analysis
including clang-tidy, cppcheck, sanitizers, valgrind.Supports
code coverage
with lcov, gcovr, llvm-cov, and opencppcoverage.Supports
hardening compilation
for MSVC, Clang, and GCC.Provides compile, header, application target generation.
Build with preset build types: Debug(Default), Release, RelWithDebInfo, MinSizeRel.
Use cmake-registry to provide various cmake modules and scripts.
Lint tool
pre-commit
integration with various linters, including clang-format, codespell, markdownlint, and more.Handy Makefile for local development.
Documentation generation with sphinx[furo] or mkdocs[material].
Automatic release workflow with semantic-release.
Maintainable documentation guides for configuration, development, security and contribution based on ss-cpp.
License#
MIT License, for more details, see the LICENSE file.