cpack 支持的打包格式

 linux下支持的打包格式

Generators
  7Z                           = 7-Zip file format
  DEB                          = Debian packages
  External                     = CPack External packages
  IFW                          = Qt Installer Framework
  INNOSETUP                    = Inno Setup packages
  NSIS                         = Null Soft Installer
  NSIS64                       = Null Soft Installer (64-bit)
  NuGet                        = NuGet packages
  RPM                          = RPM packages
  STGZ                         = Self extracting Tar GZip compression
  TBZ2                         = Tar BZip2 compression
  TGZ                          = Tar GZip compression
  TXZ                          = Tar XZ compression
  TZ                           = Tar Compress compression
  TZST                         = Tar Zstandard compression
  ZIP                          = ZIP file format

 Windows下支持的打包格式

Generators
  7Z                           = 7-Zip file format
  DEB                          = Debian packages
  External                     = CPack External packages
  IFW                          = Qt Installer Framework
  INNOSETUP                    = Inno Setup packages
  NSIS                         = Null Soft Installer
  NSIS64                       = Null Soft Installer (64-bit)
  NuGet                        = NuGet packages
  STGZ                         = Self extracting Tar GZip compression
  TAR                          = Tar no compression
  TBZ2                         = Tar BZip2 compression
  TGZ                          = Tar GZip compression
  TXZ                          = Tar XZ compression
  TZ                           = Tar Compress compression
  TZST                         = Tar Zstandard compression
  WIX                          = MSI file format via WiX tools
  ZIP                          = ZIP file format

### CPack 工具概述 CPack 是 CMake 提供的一个模块化工具,用于简化软件打包过程。通过配置 `CPack` 的参数,开发者能够轻松创建多种格式的安装包(如 `.deb`, `.rpm`, `.zip` 等)。以下是关于 CPack 的一些核心概念及其使用方法。 #### 基础功能描述 CPack 主要负责生成各种类型的分发包,并允许用户自定义多个关键变量来控制最终生成的包属性。这些变量可以通过命令行选项 `-R <value>` 来覆盖默认值或手动指定[^1]。例如: - **CPACK_PACKAGE_VERSION**: 定义包的版本号,支持通过三个子部分组成:主版本号 (`MAJOR`)、次版本号 (`MINOR`) 和修订版号 (`PATCH`) 自动生成[^2]。 - **CPACK_PACKAGE_NAME**: 设置生成包的名字。 - **CPACK_PACKAGE_VENDOR**: 表明该包的所有者或者供应商名称。 - **CPACK_RESOURCE_FILE_LICENSE_CONTENT**: 可以直接嵌入许可证的内容到包中。 #### 支持打包格式 CPack 支持广泛的打包格式,具体包括但不限于以下几种: - 7Z (7-Zip 文件格式) - DEB (Debian 软件包) - NSIS (NullSoft Installer) - RPM (Red Hat Package Manager)[^4] 每种格式都有其特定的应用场景以及相应的配置需求。例如,在构建 Debian 软件包时可能需要额外提供诸如依赖关系的信息;而在 Windows 平台上则更倾向于使用 NSIS 创建图形化的安装程序。 #### 配置方式 通常情况下,我们会编写一个名为 `CPackConfig.cmake` 的脚本来集中管理所有的 CPack 参数设置。如果希望临时修改某些设定而无需更改此文件,则可通过运行 cmake 命令并附加适当标志实现,比如: ```bash cmake .. -DCPACK_PACKAGE_VERSION=1.0.0 cpack --config ./CPackConfig.cmake ``` 上述例子展示了如何利用命令行重新定义包版本为 "1.0.0" 同时不改变原始配置文件中的其他项。 对于更加详细的官方文档链接可参阅这里[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值