一、项目目录架构

目录如下:

  • 3rd: 存放第三方源代码项目(如gtest)

  • build: 项目使用外部构建,整个项目的构建目录

  • ci: 项目产生的CI服务器需要的数据

  • include: 存放接口文件或binary库的头文件

  • lib: binary库

  • src: 项目的源代码目录

  • ut: 单元测试目录

  • st: 系统测试目录

  • script: 项目的脚本目录

  • rpm: 项目发布

  • doc: 项目文档

二、CMake相关

由于懒,不想写更多的Makefile,将Makefile改成CMakeLists.txt。看一段CMakeLists.txt吧。

三、GCOV相关

GCOV是GCC的覆盖率测试工具,也是一个命令行方式的控制台程序。添加上-fprofile-arcs -ftest-coverage编译选项后,可以启用编译并生成*.gcno文件。执行代码片段后生成*.gcda文件用于分析测试覆盖率。