cmake系列(十)

生成安装包

本节对应的源代码所在目录:Demo8

本节将学习如何配置生成各种平台上的安装包,包括二进制安装包和源码安装包。为了完成这个任务,我们需要用到 CPack ,它同样也是由 CMake 提供的一个工具,专门用于打包。

首先在顶层的 CMakeLists.txt 文件尾部添加下面几行:

cmake系列(十)

上面的代码做了以下几个工作:

  1. 导入 InstallRequiredSystemLibraries 模块,以便之后导入 CPack 模块;
  2. 设置一些 CPack 相关变量,包括版权信息和版本信息,其中版本信息用了上一节定义的版本号;
  3. 导入 CPack 模块。

接下来的工作是像往常一样构建工程,并执行 cpack 命令。

  • 生成二进制安装包:cmake系列(十)

我们可以试一下。在生成项目后,执行 cpack -C CPackConfig.cmake 命令:

cmake系列(十)

此时会在该目录下创建 3 个不同格式的二进制包文件:

cmake系列(十)

这 3 个二进制包文件所包含的内容是完全相同的。我们可以执行其中一个。此时会出现一个由 CPack 自动生成的交互式安装界面:

cmake系列(十)

完成后提示安装到了 Demo8-1.0.1-Linux 子目录中,我们可以进去执行该程序:

cmake系列(十)

关于 CPack 的更详细的用法可以通过 man 1 cpack 参考 CPack 的文档。