本仓库是我(公众号:Eglinux)为了配合出 CMake 视频教程而建立的仓库,旨在记录一些 CMake 的基础知识以及视频教程中用到的例子。
CMake 学习交流群(如果二维码失效,请加我微信:eglinuxer,备注:CMake学习):
本人知识有限,其中难免有不足之处。如果你发现什么地方有问题,欢迎指正,欢迎提 pull request。
本教程使用当前最新的 CMake 版本(VERSION 3.26.3)进行讲解,如果视频更新的过程中 CMake 更新了,那我也会同步使用最新的版本进行讲解。
课程对应的文档已全面转向我的个人网站,大家可以访问 https://www.eglinux.com/cmake/ 阅读文字版本教程。
以下目录内容会暂停一段时间,后续更新到 https://www.eglinux.com/cmake/。
- 第 000 讲:工欲善其事必先利其器:CMake 最佳安装方法
- 第 001 讲:使用 GitHub+ vscode + CMake 快速搭建一个 CMake 管理的项目仓库
- 第 002 讲:让 CMake 管理的项目真正工作起来:vscode + CMake 调试 C/C++ 项目
- 第 003 讲:CMake Targets 入门:CMake 如何构建简单的 Target
第一部分视频已全部更新,大家可以前往 B站 进行学习。
从第二部分开始,如果和平台无关的用法,我只会在一个平台演示,如果和平台相关的用法则会到用法支持的平台进行演示。
- 第 004 讲:CMake 变量之普通变量
- 第 005 讲:CMake 变量之环境变量
- 第 006 讲:CMake 变量之缓存变量
- 第 007 讲:CMake 变量之作用域
- 第 008 讲:CMake 变量总结
- 第 009 讲:CMake 字符串
- 第 010 讲:CMake 列表
- 第 011 讲:CMake 数学计算操作
- 第 012 讲:CMake 流程控制之 if() 命令
- 第 013 讲:CMake 流程控制之 for 循环
- 第 014 讲:CMake 流程控制之 while 循环
- 第 015 讲:CMake 流程控制之跳出循环和继续下一次循环
- 第 016 讲:如何使用子目录
- 第 017 讲:子目录相关的作用域详解
- 第 018 讲:子目录中定义 project
- 第 019 讲:CMake 命令之 include
- 第 020 讲:项目相关的变量详解
- 第 021 讲:CMake 提前结束处理命令:return
- 第 022 讲:CMake 函数和宏基础
- 第 023 讲:CMake 函数和宏的参数处理基础
- 第 024 讲:CMake 函数和宏之关键字参数
- 第 025 讲:函数和宏返回值详解
- 第 026 讲:CMake 命令覆盖详解
- 第 027 讲:函数相关的特殊变量
- 第 028 讲:复用 CMake 代码的其他方法
- 第 029 讲:CMake 处理参数时的一些问题说明
- 第 030 讲:CMake 属性通用命令
- 第 031 讲:CMake 全局属性
- 第 032 讲:目录属性
- 第 033 讲:Target 属性
- 第 034 讲:源文件属性
- 第 035 讲:CMake 其他属性
- 努力更新中...
- 待更新
- 待更新
- 待更新
- 待更新
后续课程更新提醒,答疑等都会在知识星球上进行。为什么选择知识星球,因为知识星球是一个很好的可以将问答沉淀记录下来的地方。这样同样的问题,如果其他人遇到就不用再次提问了。
答疑:优先解答付费用户的疑问,当然免费用户的疑问我也会全部解答的,只是同一时间,如果有付费用户也在问问题,我将优先解答付费用户的问题。
其他未尽事宜,待后续补充。