首页
›
编程基础与工程化
›
017-CMake构建系统
›
《CMake FetchContent依赖管理与模块化构建》
VIP20
本课程属于:017-CMake构建系统
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
CMake FetchContent依赖管理与模块化构建
📚 共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
CMake初识
CMake是什么 · 为什么需要CMake · CMake与传统Makefile的对…
CMake
初识
02
第一个CMake项目
构建一个最简单的Hello Worl… · 理解CMakeLists.txt的基… · 配置与构建分离(out-of-sou…
CMake
第一个
03
CMake基础语法
注释 · 变量 · 命令调用
CMake
基础语法
04
目标与属性
add_executable与add… · 目标属性(target proper… · 设置包含目录与链接库
目标
属性
05
模块化构建入门
为什么要模块化 · add_subdirectory的使… · 将项目拆分为多个子目录
模块化构建入门
为什么要模块化
06
库的创建与链接
静态库与动态库的区别 · BUILD_SHARED_LIBS · target_link_librar…
库的创建
链接
07
接口库与别名目标
INTERFACE库的使用场景 · 创建别名目标(ALIAS) · 实现纯头文件库
接口库
别名目标
08
生成器表达式
生成器表达式的语法 · 条件编译与平台判断 · 在目标属性中使用生成器表达式
生成器表达式
生成器表达式的语…
09
CMake模块与工具链
include()引入模块 · CMake自带模块(如CheckCX… · 编写自定义工具链文件
CMake
模块
10
FetchContent初探
FetchContent解决了什么问… · 与ExternalProject的对… · FetchContent_Decla…
FetchContent
初探
11
FetchContent实战
下载并集成spdlog日志库 · 指定版本与Git标签 · 处理依赖的依赖
FetchContent
spdlog
12
FetchContent高级用法
下载本地路径的依赖 · 使用URL下载 · Patch补丁与自定义配置
FetchContent
高级用法
13
依赖覆盖与版本锁定
使用FetchContent_Ove… · 实现依赖版本锁定 · 与Conan/vcpkg的协同
依赖覆盖
版本锁定
14
find_package机制
Config模式与Module模式 · 编写自己的Config.cmake文… · CMAKE_PREFIX_PATH的…
find
package
15
编写可复用的Find模块
创建FindXXX.cmake · 使用find_library与fin… · 处理找不到依赖的情况
Find
编写可复用的
16
包注册与导出
install(TARGETS)与i… · 创建项目包供其他项目使用 · CMAKE_INSTALL_PREF…
包注册
导出
17
多配置生成器
理解Debug/Release/Re… · 设置不同配置的编译选项 · 多配置下的FetchContent行…
多配置生成器
Debug/Releas…
18
编译选项与特性管理
target_compile_fea… · C++标准版本控制 · 编译器警告管理
编译选项
特性管理
19
测试框架集成
集成Google Test · 使用FetchContent下载GT… · enable_testing与add…
测试框架集成
Google
20
代码覆盖率与静态分析
集成gcov/lcov · 使用cmake --build --… · 集成clang-tidy
代码覆盖率
静态分析
21
安装与打包
使用CPack生成安装包 · 配置NSIS/DMG/Deb包 · 安装许可证与文档
安装
打包
22
跨平台构建实战
Windows/Linux/macO… · 使用CMAKE_SYSTEM_NAM… · 处理路径分隔符
跨平台构建实战
Windows/Linu…
23
嵌入式与交叉编译
设置CMAKE_TOOLCHAIN_… · 指定交叉编译器 · 处理目标系统库
嵌入式
交叉编译
24
大型项目组织架构
使用CMakePresets.jso… · 分层目录结构设计 · 模块间依赖管理
大型项目组织架构
CMakePresets…
25
性能优化与缓存
使用ccache加速重复构建 · CMake的缓存变量 · 全局属性与目录属性
性能优化
缓存
26
自定义命令与生成器
add_custom_command… · 使用Python脚本生成代码 · 文件生成与依赖
自定义命令
生成器
27
CMake与IDE集成
生成Visual Studio解决方… · Xcode工程 · 使用CMake Tools for…
CMake
IDE
28
CI/CD中的CMake
在GitHub Actions中配置… · 缓存FetchContent下载 · 矩阵构建策略
CI/CD
CMake
29
常见问题与调试
调试CMakeLists.txt(m… · 处理循环依赖 · 解决链接错误
常见问题
调试
30
综合实战
构建一个完整的模块化C++项目 · 测试 · 文档生成
综合实战
C++
所属VIP或分类
同VIP:CMake-Presets工程配置与多环境构建实战
同VIP:CMakeLists.txt-完全解析
同VIP:CMake交叉编译环境搭建实战