使用方式:
-
拷贝整个目录
-
修改项目名
-
库
在 lib 下创建新的库。模板已经包含了一个
Common
库,提供了一些常用功能,如异常类、性能计时器等。 -
应用
app 中提供了一个命令行应用模板。
应用源码应该尽可能地少到只有一个文件,其中只编写
main
函数和命令行解析等驱动代码。 -
测试
本模板使用 Boost.Test 框架,test 中提供了一个测试模板。
-
文档
本模板使用 Doxygen 生成库的 API 文档。
在 doc 目录下创建其它 Markdown 文档,然后加到 doxygen 目标中。
-
复制
environ.cmake
为env.cmake
,然后按照你的本地环境修改其中的路径。 -
运行 CMake 配置过程:
mkdir build cd build cmake ..
默认构建的是 Debug 版本,如果想构建其他版本(如 Release),请设置
CMAKE_BUILD_TYPE
变量。 -
构建所有目标:
cmake --build .
如果想构建项目的单元测试,需要安装 Boost.Test 库。
-
打包发布:
项目使用 CPack,可以生成各种格式的包文件,详请参阅官方文档。
打包构建产物(可用于二次开发):
cpack -G ZIP
打包源码:
cpack --config CPackSourceConfig.cmake
-
关于导出 SDK 给其它项目使用
目前已知没有容易的方法能解决导出 SDK 时的命名空间冲突问题(比如
Common
模块)。同时,考虑到大部分中小型项目并不会发展到产生这个需求的规模,因此本模板不提供 SDK 导出的完整支持。如果想导出 SDK 给其它项目使用,不可避免地,需要对项目结构作出一定调整,包括并不限于以下工作:
- 重构项目的命名空间;
- 重新编写 CMake 安装规则(
install
命令); - ...
-
使用了其中的覆盖率测试 CMake 脚本。