步骤 9:打包安装程序¶
接下来,假设我们希望将我们的项目分发给其他人,以便他们可以使用它。我们希望在各种平台上提供二进制和源代码分发。这与我们之前在安装和测试
中进行的安装有所不同,当时我们安装的是从源代码构建的二进制文件。在本例中,我们将构建支持二进制安装和包管理功能的安装包。为此,我们将使用 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_GENERATOR "TGZ")
set(CPACK_SOURCE_GENERATOR "TGZ")
include(CPack)
就这些。我们首先包含InstallRequiredSystemLibraries
。此模块将包含当前平台项目所需的任何运行时库。接下来,我们将一些 CPack 变量设置为我们存储此项目的许可证和版本信息的位置。版本信息已在本教程的早些时候设置,并且License.txt
已包含在此步骤的顶层源目录中。CPACK_GENERATOR
和CPACK_SOURCE_GENERATOR
变量分别选择用于二进制和源代码安装的生成器。
最后,我们包含CPack 模块
,它将使用这些变量和当前系统的其他一些属性来设置安装程序。
下一步是按常规方式构建项目,然后运行cpack
可执行文件。要构建二进制分发,请从二进制目录运行
cpack
要指定二进制生成器,请使用-G
选项。对于多配置构建,请使用-C
指定配置。例如
cpack -G ZIP -C Debug
有关可用生成器的列表,请参阅cpack-generators(7)
或调用cpack --help
。archive 生成器
(如 ZIP)会创建所有_已安装_文件的压缩档案。
要创建_完整_源代码树的档案,请键入
cpack --config CPackSourceConfig.cmake
或者,运行make package
或右键单击Package
目标并从 IDE Build Project
。
运行在二进制目录中找到的安装程序。然后运行已安装的可执行文件并验证其是否正常工作。