第九讲 : 打安装包

本文介绍了如何在工程完成后,利用CMake和CPack工具创建支持二进制安装和软件包管理的安装包,包括设置CPack变量、选择适当的生成器以及验证安装过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        假设我们的工程已经完工,可以发布给其他人使用了 。我们需要分发各种平台上的二进制文件。这和我们之前第五讲的内容不同,当时的安装是直接从源码构建的。在这一讲里,我们将创建一个安装包,它支持二进制安装及软件包管理功能。为此,我们会用到CPack来创建平台特定的安装包。具体地说,我们只需要在顶层CMakeLists.txt的末尾添加几行代码。

include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR "${Tutorial_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${Tutorial_VERSION_MINOR}")
set(CPACK_SOURCE_GENERATOR "TGZ")
include(CPack)

        这就是全部内容,简单不?首先,我们引用 InstallRequiredSystemLibraries。这个模块将会引用工程在当前平台所需要的所有运行时库。接下来,设置一些CPack变量,它们存储了工程的版权和版本信息。版本号源自之前讲述的内容。版本文件License.txt已经在本讲的源码包里了。最后, CPACK_SOURCE_GENERATOR 变量选择了打包文件的格式。

      最后我们引用CPack module 模块,它将会使用之前设定的变量,还有当前系统的一些其它属性来设置安装包。

      接下来,和往常一样构建工程,并执行 cpack 来构建安装包:

cpack

要指定生成器,使用-G 选项。对于配置构建,用 -C 选项来指定配置。比如:

cpack -G ZIP -C Debug

如果需要查看可用生成器列表,可以参考 cpack-generators(7) 或执行命令 cpack --help。像ZIP这样的归档生成器会归档压缩所有需要安装的文件。

如果要归档完成的资源树,你需要执行命令:

cpack --config CPackSourceConfig.cmake

或者,可以运行 make package 命令,或从IDE上选择Package 目标,并构建工程。

最后,安装得到的安装包,并验证安装的软件是否工作正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值