VIP20
本课程属于:018-CPack打包部署 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

CPack打包格式选择策略实战

📚 共计 30 章节
01
CPack初识
什么是CPack · CPack在CMake生态中的角色 · 为什么需要打包策略
概念入门
02
打包格式全景
主流打包格式一览 (TGZ, DEB, RPM, NSIS, DMG, ZIP) · 各格式适用场景
概览格式
03
TGZ格式详解
生成tar.gz压缩包 · 适用Linux/Unix环境 · 配置参数与实战案例
Linux压缩
04
DEB格式详解
生成Debian包 · 依赖管理 · 适用于Ubuntu/Debian · 配置与签名
Debian包管理
05
RPM格式详解
生成Red Hat包 · 依赖与冲突管理 · 适用于Fedora/CentOS/RHEL · 配置与签名
Red HatRPM
06
NSIS格式详解
生成Windows安装程序 · 自定义安装界面 · 静默安装与卸载逻辑
Windows安装器
07
DMG格式详解
生成macOS磁盘映像 · 背景图与快捷方式 · 适用于Apple生态
macOSDMG
08
ZIP与7Z格式
跨平台压缩包 · 无需安装的解压即用 · 适用场景与配置
跨平台压缩
09
多格式打包策略
一次构建生成多种格式 · CPack生成器组合 · 条件编译与平台判断
策略CI
10
CPack配置基础
CMakeLists.txt中的CPack配置 · set(CPACK_xxx)变量详解
配置CMake
11
CPack变量体系 (上)
通用变量:CPACK_PACKAGE_NAME, VERSION, VENDOR 等
变量通用
12
CPack变量体系 (中)
各生成器特有变量:CPACK_DEBIAN_xxx, CPACK_RPM_xxx 等
生成器专有
13
CPack变量体系 (下)
安装路径变量 · 组件变量 · 自定义变量
路径组件
14
组件化打包
COMPONENT概念 · 按组件拆分安装 · 组件依赖与分组
组件模块
15
安装脚本与钩子
PRE/POST安装脚本 · 自定义安装逻辑 · 权限与用户操作
脚本钩子
16
数字签名与安全
GPG签名DEB/RPM · Authenticode签名NSIS · macOS公证流程
安全签名
17
跨平台打包实战 (Linux)
Ubuntu上构建DEB · CentOS上构建RPM · TGZ通用方案
Linux实战
18
跨平台打包实战 (Windows)
NSIS安装包制作 · 静默安装参数 · 注册表操作
WindowsNSIS
19
跨平台打包实战 (macOS)
DMG制作 · .app bundle结构 · notarization公证
macOSDMG
20
CI/CD集成打包
在GitHub Actions中调用CPack · 缓存与矩阵构建策略
CI/CDActions
21
Jenkins流水线打包
Pipeline脚本集成CPack · 制品归档与版本管理
JenkinsPipeline
22
GitLab CI与CPack
.gitlab-ci.yml配置 · 多平台Runner · 包上传至Registry
GitLabCI
23
版本号与元数据管理
语义化版本 · 自动生成版本号 · Changelog集成
版本元数据
24
依赖处理策略
外部依赖打包 · bundling vs system依赖 · 冲突解决
依赖策略
25
安装路径与FHS
Linux FHS · Windows Program Files · macOS Applications
路径规范
26
测试打包结果
安装测试 · 卸载测试 · 升级测试 · 自动化测试框架
测试验证
27
常见错误与调试
CPack错误日志分析 · 生成器找不到 · 变量未定义 · 权限问题
调试排错
28
性能优化
大型项目打包加速 · 并行打包 · 增量打包策略
性能加速
29
自定义生成器
编写自己的CPack生成器 · 继承IGenerator接口 · 注册新格式
扩展开发
30
总结与最佳实践
格式选择决策树 · 企业级打包规范 · 未来趋势 (AppImage, Snap, Flatpak)
总结规范