跳到主要内容

CMake 入门教程

CMake 入门教程

CMake 是一个跨平台的开源构建工具,用于自动化项目的构建过程。无论是小型项目还是复杂的大型项目,CMake 都为开发者提供了一种简便而强大的构建方式。

如何阅读本教程(推荐学习路径)

本教程的目录较完整,你可以按自己的目标选择阅读路径。

  • 新手必读
    • 第一部分:入门基础
    • 第二部分:核心语法
    • 第三部分:构建可执行文件
  • 工程必读
    • 第四部分:库的管理(现代 CMake / target-based / 可见性)
    • 第五部分:项目组织(多目录与最佳实践)
    • 第六部分:依赖管理(find_package / FetchContent / ExternalProject)
  • 交付与质量
    • 第七部分:安装和打包
    • 第八部分:测试
  • 进阶选读
    • 第九部分:高级特性
    • 第十部分:跨平台和工具链
    • 第十一部分:IDE 集成
    • 第十二部分:实战案例(建议至少通读一遍)
    • 第十三部分:问题解决和参考(随用随查)

学习目标

  • CMake 基础:了解 CMake 的基本概念,包括 CMakeLists.txt 文件的编写、变量的定义、条件语句等。
  • 库的管理:掌握如何使用 CMake 管理和构建库文件,包括静态库和动态库。
  • 依赖管理:学会使用 CMake 管理项目的依赖关系,包括第三方库和系统库。
  • 高级特性:深入了解 CMake 的高级特性,如自定义命令、宏、函数等,以及如何扩展 CMake 的功能。
  • 跨平台构建:学习如何使用 CMake 实现跨平台的构建,确保项目在不同操作系统上能够正确编译。
  • 与其他工具集成:了解 CMake 与其他工具(如CTest、CPack)的集成,实现全面的项目构建和测试。

适用人群

  • 软件开发者,特别是对构建系统和自动化构建流程感兴趣的人。
  • 系统管理员,希望使用 CMake 进行项目的简便构建和部署。
  • 对于在不同平台上构建和部署项目有需求的工程师和开发者。

:::tip

教程中的示例均可使用 cmake -S <src> -B <build>cmake --build <build> 构建、测试,避免在源码目录生成构建产物。

:::