
CMake教程07-打包安装程序
接下来假设我们要将我们的项目分发给其他人,以便他们可以使用它。
我们希望在各种平台上提供二进制和源代码分发。这与我们之前在中进行的安装略有不同,在那里我们安装了从源代码构建的二进制文件。
在这个例子中,我们将构建支持二进制安装和包管理功能的安装包。为此,我们将使用CPack
来创建特定于平台的安装程序。
具体来说,我们需要在项目根目录的CMakeLists.txt
文件底部添加几行:
include(InstallRequiredSystemLibraries)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}")
include(CPack)
我们首先包括 InstallRequiredSystemLibraries
. 该模块将包括当前平台项目所需的任何运行时库。
接下来,我们将一些 CPack
变量设置为我们存储此项目的许可证和版本信息的位置。版本信息已在本教程的前面设置,并且license.txt
已包含在此项目根目录中。
最后我们引入CPack
模块,它将使用这些变量和当前系统的一些其他属性来设置安装程序。
下一步是以通常的方式构建项目,然后运行 cpack
可执行程序。要构建二进制分发版,请从二进制目录运行:
cpack
或者运行:
make package
要指定生成器,请使用该-G选项。对于多配置构建,用于 -C指定配置。例如:
cpack -G ZIP -C Debug
要创建源代码分发,输入:
cpack --config CPackSourceConfig.cmake
现在可以执行安装程序FirstProject--Linux.sh
或者压缩包文件,验证安装程序是否可以正确执行吧。
安装成功后目录结构:
FirstProject--Linux
├── bin
│ └── first_app
├── include
│ ├── config.h
│ └── myfunc.h
└── lib
└── libmyfunc.a
转载本文时请注明出处及本文链接地址CMake教程07-打包安装程序。