首页
›
后端、数据与云原生工程
›
054-CLI、SDK与软件工程规范
›
《Monorepo工程组织与治理》
VIP8
本课程属于:054-CLI、SDK与软件工程规范
后端、数据与云原生工程 · 共 8 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
CMake模块化开发最佳实践
📚 共计 30 章节
01
CMake入门
CMake是什么 · 为什么需要CMake · 与Makefile关系 · 安装与版本选择
基础
概念
02
第一个CMake项目
单文件编译 · CMakeLists.txt结构 · cmake_minimum_required · project() · add_executable()
实战
入门
03
CMake语法基础
注释 · 变量定义与引用 · set()/unset() · message() · list()操作
语法
核心
04
目标与属性
target概念 · set_target_properties · 编译选项 · target_link_libraries
目标
属性
05
库的创建与链接
add_library · STATIC/SHARED/MODULE · PRIVATE/PUBLIC/INTERFACE
库
链接
06
头文件管理
target_include_directories · 作用域 · 系统头文件与项目头文件分离
头文件
组织
07
子目录与模块化
add_subdirectory · 子项目组织 · 顶层与子模块分工
模块
结构
08
find_package机制
工作原理 · Config模式与Find模式 · Config.cmake / Find.cmake
包管理
查找
09
内置变量与路径
CMAKE_SOURCE_DIR · BINARY_DIR · CURRENT_SOURCE_DIR · PROJECT_SOURCE_DIR
变量
路径
10
编译特性控制
target_compile_features · C++标准 · 编译器扩展控制
标准
特性
11
生成器表达式
Generator Expression · $<CONFIG> · $<TARGET_FILE> · 条件编译
表达式
高级
12
条件判断与逻辑控制
if/elseif/else · 逻辑运算符 · 平台判断 · 编译器判断
逻辑
控制
13
循环与遍历
foreach · 列表遍历 · file(GLOB) · range遍历
循环
遍历
14
函数与宏
function()/macro() · 参数传递 · 作用域与返回值
函数
宏
15
自定义模块
创建Find模块 · 编写Config.cmake · 模块安装与导出
模块
导出
16
安装与导出
install() · TARGETS安装 · EXPORT导出 · Package Registry
安装
导出
17
测试集成
enable_testing · add_test · CTest · 测试标签与超时
测试
CTest
18
CPack打包
CPack配置 · NSIS/DMG/Deb · 版本号与许可证
打包
发布
19
FetchContent依赖管理
FetchContent_Declare · FetchContent_MakeAvailable · 自动下载
依赖
Fetch
20
ExternalProject外部项目
ExternalProject_Add · 构建外部依赖 · 与FetchContent对比
外部
项目
21
预编译头与编译加速
target_precompile_headers · Unity Build · ccache集成
加速
预编译
22
工具链文件
Toolchain编写 · 交叉编译 · CMAKE_TOOLCHAIN_FILE
工具链
交叉编译
23
Presets配置
CMakePresets.json · 构建预设 · 测试预设 · CI/CD集成
预设
CI
24
IDE集成
Visual Studio · Xcode · CodeBlocks · compile_commands.json
IDE
生成器
25
Sanitizer与调试
AddressSanitizer · UndefinedBehavior · ThreadSanitizer · Debug/Release
调试
Sanitizer
26
代码覆盖率
Gcov/Lcov集成 · target_coverage · 覆盖率报告
覆盖率
测试
27
大型项目组织
Monorepo · 组件化 · 版本号管理 · 依赖图
架构
Monorepo
28
跨平台兼容
平台检测 · 编译器检测 · 路径分隔符 · 文件编码
跨平台
兼容
29
性能优化
并行构建 · Ninja · LTO · CMAKE_BUILD_PARALLEL_LEVEL
性能
优化
30
CMake最佳实践总结
常见反模式 · 项目模板 · CI中的CMake · 社区与工具链生态
总结
生态
所属VIP或分类
同VIP:API文档与接口规范工程
同VIP:CLI工具开发实战100例
同VIP:SDK架构设计与工程化开发