首页
›
编程基础与工程化
›
018-CPack打包部署
›
《CPack配置从零到上手》
VIP20
本课程属于:018-CPack打包部署
编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
CPack配置从零到上手
📚 共计 30 章节
01
CPack入门
什么是CPack?为什么需要CPack?CPack在CMake生态中的位置。
概念
定位
02
环境准备
安装CMake和CPack,验证环境,第一个Hello World项目。
安装
验证
03
CMake基础回顾
CMakeLists.txt结构,project()、add_executable()、add_library()命令。
语法
命令
04
第一个CPack项目
为Hello World项目添加CPack支持,生成第一个安装包。
实战
入门
05
CPack生成器详解
Generator概念,STGZ、TGZ、ZIP、DEB、RPM等生成器介绍。
生成器
格式
06
配置CPack
set(CPACK_xxx)变量详解,项目名称、版本、描述、供应商等元信息。
变量
元数据
07
安装规则(上)
install(TARGETS)命令,安装可执行文件、库文件到指定目录。
install
TARGETS
08
安装规则(下)
install(FILES)、install(DIRECTORY)、install(SCRIPT)命令。
FILES
DIRECTORY
09
组件安装
COMPONENT参数,将安装内容分组,实现选择性安装。
组件
分组
10
CPack变量大全
CPACK_PACKAGE_NAME、CPACK_PACKAGE_VERSION、CPACK_GENERATOR等核心变量。
变量
参考
11
跨平台打包
Windows下打包成NSIS/InnoSetup,Linux下打包成DEB/RPM,macOS下打包成DMG。
跨平台
NSIS
DEB
12
NSIS安装包制作
配置CPACK_NSIS_xxx变量,自定义安装界面、许可证、卸载程序。
NSIS
Windows
13
DEB包制作
配置CPACK_DEBIAN_xxx变量,依赖关系、维护者脚本、包分类。
DEB
Debian
14
RPM包制作
配置CPACK_RPM_xxx变量,与DEB的异同,SPEC文件生成。
RPM
RedHat
15
DMG包制作
macOS安装包,配置CPACK_DMG_xxx变量,背景图、窗口位置。
DMG
macOS
16
源代码打包
CPACK_SOURCE_GENERATOR,生成源码包供用户自行编译。
源码
tar
17
自定义安装路径
设置安装前缀、使用相对路径、CMAKE_INSTALL_PREFIX。
路径
前缀
18
配置文件安装
configure_file()命令,生成带版本号的配置文件。
配置
版本
19
安装后脚本
CPACK_INSTALL_SCRIPT,在安装完成后执行自定义脚本。
脚本
postinst
20
卸载支持
CPACK_NSIS_CREATE_UNINSTALLER,生成卸载程序。
卸载
NSIS
21
多组件打包实战
将库、头文件、文档、示例分别打包成不同组件。
组件
实战
22
依赖管理
打包时自动处理动态库依赖,使用BundleUtilities。
依赖
Bundle
23
CPack与CI/CD
在GitHub Actions、GitLab CI中集成CPack,自动发布Release。
CI/CD
自动化
24
测试CPack包
使用ctest测试安装包的正确性,验证安装路径和文件。
测试
ctest
25
高级技巧
条件打包、多生成器并行、自定义生成器。
高级
自定义
26
调试CPack
查看CPack日志,使用--verbose和--debug选项。
调试
日志
27
常见错误与解决方案
路径错误、权限问题、依赖缺失、变量未定义。
排错
FAQ
28
实战项目一:命令行工具
打包一个命令行工具,包含可执行文件、man手册、bash补全。
实战
CLI
29
实战项目二:动态库
打包一个动态库,包含库文件、头文件、CMake配置文件(供find_package使用)。
实战
动态库
30
总结与展望
CPack最佳实践,未来发展方向,推荐学习资源。
总结
资源
所属VIP或分类
同VIP:CPack依赖处理与打包优化实战
同VIP:CPack多格式打包实战
同VIP:CPack打包实战全流程