用于演示基于CMake 调用GTest进行单元测试,如下示例均基于Ubuntu 22.04 lts 系统,windows 系统需要自行安装 git,cmake ,TDM-GCC ,ninja 这四款软件,并将相应路径添加到环境变量中。
首先需要安装本工程所需的软件,需要安装git,c语言编译器,cmake 构建器 ,以及 ninja 生成器
sudo apt install git gcc g++ cmake ninja-build
ssh-keygen -t ed25519
$ gcc --version
gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ninja --version 1.10.1
$ cmake --version
cmake version 3.22.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
提供的样例工程目录结构如下
cmake 构建系统结构介绍:
使用CMake进行构建编译,就是经典的四步,进入cmake文件夹后,新建build构建目录,使用 cmake ..
命令,使用build上一层目录中CMakeLists.txt 文件进行cmake工程创建和处理,使用 cmake --build .
命令,调用设定好的生成器进行目标构建。
cd cmake
mkdir build
cd build
cmake ..
cmake --build .
Git clone CMake-GTest ,检出master分支,并进入 cmake-gtest\cmake
目录
在test文件夹中新建 build 文件夹 ,作为构建地址
进入 build目录下 ,依次执行 cmake ..
, cmake --build .
ctest
Cmake 支持在调用时使用管道技术将命令传入 Ninja 中,ninja工具支持调用多核CPU进行并行编译,以此来加快编译速度。
ninja -t clean
cmake --build . -j 6
Ninja 带有构建依赖关系生成工具,可以生成 graphviz 格式(*.dot)的图形,若环境中已经安装 graphviz 工具,可以直接使用管道调用工具渲染成 svg 矢量图。
检查环境是否安装 dot -V
使用管道将 ninja -t graph
输出作为入参,调用 dot -T svg -o test.svg
,生成svg文件
ninja -t graph|dot -T svg -o test.svg
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。