一个完整的 CMake C++ 项目模板,展示了现代 C++/CMake 项目的实践。
my_project/
├── CMakeLists.txt # 主 CMake 文件
├── README.md # 项目说明文档
├── LICENSE # 开源协议文件
├── .gitignore # Git 忽略配置
├── .clang-format # ClangFormat 代码格式配置
├── .clang-tidy # Clang-Tidy 静态分析规则
├── .editorconfig # 编辑器统一配置
├── config/ # 运行时配置文件
├── build/ # 构建中间产物
├── dist/ # 最终构建产物输出路径
├── cmake/ # 自定义 CMake 模块与工具链配置
├── src/ # 主程序源码目录
├── include/ # 公共头文件目录
├── test/ # 单元测试目录
├── docs/ # 文档目录
├── third_party/ # 第三方依赖目录
└── tools/ # 构建、部署、辅助开发工具脚本
- 模块化设计: 清晰的目录结构和命名空间
- 第三方库集成: 包含两个示例第三方库
- 单元测试: 内置测试框架和示例测试用例
- 跨平台构建: 支持 Linux、Windows、Android 等平台
- 自动化工具: 包含构建、部署、配置生成脚本
- 代码质量: 集成 ClangFormat 和 Clang-Tidy
# 使用构建脚本(推荐)
./tools/build_release.sh
# 或者手动构建
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --parallel# 程序会自动输出到 dist/bin 目录
./dist/bin/my_projectcd build
ctest --output-on-failure项目包含两个示例第三方库:
- mathlib: 数学工具库,提供基础数学运算功能
- strlib: 字符串工具库,提供字符串处理功能
tools/build_release.sh: 自动化构建脚本tools/generate_config.py: 配置文件生成工具tools/deploy.sh: 部署脚本
- CMake 3.16+
- C++17 兼容的编译器
- Python 3.6+(用于工具脚本)
项目使用 ClangFormat 进行代码格式化:
clang-format -i src/*.cpp include/**/*.h使用 Clang-Tidy 进行静态代码分析:
clang-tidy src/*.cpp -- -I./include使用部署脚本将项目部署到目标系统:
./tools/deploy.sh /opt/my_project本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
欢迎提交 Issue 和 Pull Request!
如有问题,请通过以下方式联系: