Modern C++ Starter Kits Share

发布时间 2023-11-27 16:10:24作者: Koshkaaa

初入 C++ 搬砖,在团队中开发实际上很少亲自从零开始搭建C++的完整项目,99%时候都是使用基础架构团队或者CI/CD团队搭建好的框架。这里分享几个配置C++项目的模版,它们一般会涉及三方库管理、格式校准、单元测试、静态检查、Sanitizer配置、CI/CD配置等方面,内容比较完善。

Seg-dynamic

Build System模版

CMake

ModernCppStarter(Github, Gitee)

这个模版非常完整,包含了CI/CD、单元测试、测试覆盖、自动格式化、依赖管理、Sanitizer、代码静态分析等配置,非常完善,通俗易懂。

Seg-Static

modern-cpp-template(Github)

这个模版包含的内容和ModernCppStarter差不多,也是使用了现代风格的CMake,支持clang-format、静态分析、文档生成、单元测试、测试覆盖、包管理和CI。这个模版用起来更加顺手。

Seg-Static

cmake-examples(GithubGitee)

不同需求的 CMake 模版都有:

Seg-Static

cmake_template(Github)

另一个比较完善的 CMake 模版

Seg-dynamic

Bazel

bazel/examples

这是bazel的tutorial,里面有一个简单的cpp项目。

bazel-cpp20(Github)

一个简单的使用Bazel的支持VSCode、单元测试、Fuzz测试的模版。

自动创建开发环境

setup-cpp(Github)

自动创建可配置的C++开发环境,包括编译器、代码分析、Build System等等:

比如,我们可以用它来配置Docker文件: