首页
›
编程基础与工程化
›
017-CMake构建系统
›
《CMakeLists.txt 完全解析》
VIP20
本课程属于:017-CMake构建系统
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
CMakeLists.txt 完全解析
📚 共计 30 章节
第1章
CMake 初识
什么是 CMake?为什么需要 CMake?CMake 与 Makefile 的关系。
概念
入门
第2章
环境搭建
在 Windows/Linux/macOS 上安装 CMake,验证安装,第一个 Hello World 项目。
安装
实操
第3章
核心概念
目标(Target)、生成器(Generator)、构建目录(Build Directory)详解。
理论
关键
第4章
基本语法
注释、命令、变量、列表、流程控制(if/else/foreach/while)。
语法
基础
第5章
第一个 CMakeLists.txt
cmake_minimum_required、project、add_executable 命令详解。
命令
实战
第6章
变量与缓存
普通变量、缓存变量、环境变量、set() 与 unset() 命令。
变量
存储
第7章
列表操作
list() 命令的增删改查、排序、反转等操作。
列表
API
第8章
数学运算
math() 命令,表达式求值。
数学
计算
第9章
字符串操作
string() 命令的查找、替换、拼接、分割、大小写转换。
字符串
处理
第10章
文件操作
file() 命令的读写、下载、打包、路径操作。
文件
IO
第11章
流程控制
if/elseif/else、while、foreach 循环,break 与 continue。
逻辑
循环
第12章
函数与宏
function() 与 macro() 的定义与调用,参数传递,作用域。
封装
复用
第13章
库的构建
add_library() 构建静态库与动态库,库的属性设置。
库
构建
第14章
目标链接
target_link_libraries() 链接库,PUBLIC/PRIVATE/INTERFACE 关键字。
链接
作用域
第15章
头文件管理
target_include_directories() 指定头文件搜索路径。
头文件
路径
第16章
编译选项
target_compile_options() 与 target_compile_definitions() 设置编译标志与宏定义。
编译
标志
第17章
生成器表达式
$<...> 语法,条件编译、配置相关、平台相关表达式。
表达式
高级
第18章
查找包
find_package() 查找系统库或第三方库,Config 模式与 Module 模式。
包管理
查找
第19章
自定义查找模块
编写 FindXXX.cmake 模块,find_library、find_path、find_program。
模块
定制
第20章
子目录与嵌套项目
add_subdirectory() 管理多级目录项目。
结构
组织
第21章
安装规则
install() 命令安装目标、文件、目录、脚本。
部署
安装
第22章
测试支持
enable_testing()、add_test()、ctest 的使用。
测试
CTest
第23章
CPack 打包
使用 CPack 生成安装包(NSIS、DMG、DEB、RPM)。
打包
分发
第24章
CTest 与 CDash
持续集成测试与仪表盘提交。
CI
仪表盘
第25章
工具链文件
Toolchain 文件用于交叉编译,设置编译器、系统根目录。
交叉编译
工具链
第26章
预设文件
CMakePresets.json 与 CMakeUserPresets.json 管理构建配置。
预设
配置
第27章
依赖管理
FetchContent 模块下载并集成第三方库。
依赖
FetchContent
第28章
现代 CMake 实践
面向目标的编程,避免全局命令,使用 INTERFACE 库。
现代
最佳实践
第29章
性能优化
并行构建、ccache 集成、预编译头文件、Unity 构建。
优化
速度
第30章
综合实战
构建一个完整的 C++ 项目(库+可执行文件+测试+安装+打包)。
项目
全流程
所属VIP或分类
同VIP:CMake-FetchContent依赖管理与模块化构建
同VIP:CMake-Presets工程配置与多环境构建实战
同VIP:CMake交叉编译环境搭建实战