CMake 简明教程(6)---生成安装文件

时间:2021-11-07 04:36:02

原文网址:http://cmake.org/cmake/help/cmake_tutorial.html
教程中所有的代码都可以在这里找到:http://public.kitware.com/cgi-bin/viewcvs.cgi/CMake/Tests/Tutorial/


接下来,设想我们想发布我们的项目以便他人使用。我们想在很多平台上发布编译结果和代码。这个过程和之前的安装(install)和测试不同。这个例子中我们会编译出类似于cygwin,debian,rpm等支持安装和包管理的安装包。要完成这一功能,我们要使用CPack来生成对应平台的安装包。在代码上,我们需要在顶层CMakeLists.txt中添加几行:

# build a CPack driven installer package
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)

这就是所有代码了。我们首先include了InstallRequiredSystemLibraries。这一模块会添加任何这个项目在这个平台所需要的所有运行支持库。接下来我们设置一些CPack变量,如版本文件Liscenes.txt,版本号等。版本号就是我们之前在例子中使用的。最后,我们添加CPack模块,这个模块会使用这些变量和这个系统的其他属性来生成安装包。


接下来,就是按通常的方式编译项目,之后运行CPack。要编译一个安装包,你需要输入如下命令:

cpack -C CPackConfig.cmake

要生成一个代码安装包,输入如下命令:

cpack -C CPackSourceConfig.cmake