CMake构建实战:项目开发卷
上QQ阅读APP看书,第一时间看更新

2.1 为什么使用CMake

从CMake的定义中,已经多多少少能够看出CMake的优势。先来看看其官网的说法。

CMake是高效的。

CMake帮助开发者花更多的时间在写代码上,花更少的时间在搞定构建系统上。

CMake是开源的,可自由用于任何项目。

CMake是强大的。

CMake支持在同一个项目中使用多种开发环境和编译器,如Visual Studio、QtCreator、 JetBrains、Vim、Emacs、GCC、MSVC、Clang、Intel等。

CMake支持多种编程语言,如C、C++、CUDA、Fortran、Python等,还支持在构建过程中执行任意的自定义命令。

CMake支持持续集成,通过CTest可在Jenkins、Travis、CircleCI、GitlabCI等几乎任意持续集成系统中完成测试。测试结果可以在CDash中展示。

CMake支持将第三方库集成到个人项目中。

CMake是研发团队的首选。

CMake几乎已经成为构建C和C++项目的业界标准工具。

很多C++项目都开始使用CMake构建。根据2018 Octoverse报告,CMake脚本语言在GitHub上的增长速度排在第六位。

CMake成熟且经过良好测试,拥有广泛的开发者社区。它从2000年开始不断被改进。

CMake的优势很多,甚至可以说有不少都是独一无二的优势,如生态活跃。这也是为什么即便 CMake功能复杂、学习成本高,大家仍然选择使用它。另外,CMake在很多方面都与C++语言很类似:

具有庞大的用户群体;

稳定地向后兼容;

强大的功能特性,支持多范式,较为复杂。

下面从几个方面具体总结一下CMake的优势。