CMake 是一个跨平台的开源元构建系统,可以构建、测试和打包软件。它可用于支持多种本机构建环境,包括 make、Apple 的 xcode 和 Microsoft Visual Studio。
该存储库包含一些现代 CMake 配置示例,这些配置是我在探索它在各种项目中的用法时选取的。这些示例以类似教程的格式排列。第一个示例非常基础,并且根据前面的示例逐渐增加复杂性以显示更复杂的用例。
这些示例已在 Ubuntu 16.04 上进行了测试,但应该可以在任何支持 CMake v3.5+ 的 Linux 系统下运行。
该分支适用于 CMake 3.5 及以上版本。
有关使用 CMake 版本 2.x 的示例,请参阅分支 v2-style-includes。
有关使用 CMake 版本 3.0 的示例,请参阅分支 v3.0-minimum
大多数示例的基本要求是:
CMake v3.5+
C++ 编译器(默认为 gcc)
制作
在 Ubuntu 上安装上述内容的最简单方法如下
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
一些具体示例可能需要其他工具,包括:
促进
$ sudo apt-get install libboost-all-dev
原始缓冲区
$ sudo apt-get install libprotobuf-dev $ sudo apt-get install protobuf-编译器
程序检查
$ sudo apt-get install cppcheck
铛
$ sudo apt-get install clang-3.6
忍者
$ sudo apt-get install ninja-build
柯南
$ sudo apt-get install python3 python3-pip $ sudo pip3 安装柯南
生成具有所有要求和各种版本的 CMake 的 Docker 容器,以帮助更轻松地测试示例。这些可以从 docker hub 存储库 matrim/cmake-examples 中获得。
要构建全套 cmake-examples 测试用例,您可以运行:
docker run -it matrim/cmake-examples:3.5.1
cd ~
git clone https://github.com/ttroy50/cmake-examples.git code
cd code
./test.sh
有关构建和运行 docker 容器的更多详细信息,请参阅 dockerfiles。
网上有很多CMake教程和示例。下面的列表包含一些我发现对我的 CMake 之旅很有帮助的链接。
现代 CMake 幻灯片
rix0r 现代 CMake 博客
官方 CMake 教程
官方 CMake 维基
CMake 有用的变量
Derek Molloy - CMake 简介
模块化 C++ 项目
常见的 CMake 反模式
将 clang 静态分析器与 CMake 结合使用
使用 CDash 进行静态分析 - 包括有关将 CppCheck 与 CMake 结合使用的一些信息
CMake 技巧
John Lamp - CMake 教程
柯南文档