原文作者:
发布时间:
接下来假设我们想把我们的项目发布给其他人,以便他们能够使用它。我们希望在不同的平台上提供二进制和源码发行版。这与我们之前在安装和测试(第4步)中所做的安装有些不同,在这里我们安装的是我们从源代码中构建的二进制文件。在这个例子中,我们将构建支持二进制安装和包管理功能的安装包。为了完成这个任务,我们将使用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}")
include(CPack)
这就是全部的内容。我们首先包含InstallRequiredSystemLibraries。这个模块将包含项目在当前平台上需要的任何运行时库。接下来,我们设置一些CPack变量,将这个项目的许可证和版本信息存储在那里。版本信息在本教程的前面已经设置好了,license.txt已经包含在这一步的顶层源目录中。
最后我们包含CPack模块,它将使用这些变量和当前系统的一些其他属性来设置安装程序。
下一步是以通常的方式构建项目,然后运行cpack可执行文件。要构建一个二进制发行版,在二进制目录下运行。
cpack
要指定生成器,请使用 -G 选项。对于多配置的构建,使用-C来指定配置。例如
cpack -G ZIP -C Debug
要创建一个源码发行版,你可以输入
cpack --config CPackSourceConfig.cmake
或者,运行make package或右键点击Package目标并从IDE中Build Project。
运行在二进制目录下找到的安装程序。然后运行已安装的可执行文件,并验证它是否工作。