12.MariaDB笔记——cmake使用介绍七编译安装包
继续学习cmake
如何发布项目给其他人使用。
对不同的平台提供二进制和源码。
和安装、测试存在不同,安装二进制是从源码编译完毕后开始安装。
本次我们要学习是生成一个安装包,例如linux的rpm包这样的。
完成这个目标,需要CPack来创建平台需要的安装器。
首先在主CMakeLists文件最后增加如下
# build aCPack 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)
set(CMAKE_BUILD_TYPERelease)
命令include (InstallRequiredSystemLibraries)这样会包含当前平台运行项目所需的所有运行库。
然后设置了CPack变量来指定项目保存license和版本信息。
版本信息使用之前设置的那个版本信息(在第一篇中就有)。最后包含CPack模块,使得会使用这些变量和系统属性。
增加一个License.txt文件
内容随便写,蛤蟆此处如下:
make by toad
然后编译安装程序
先执行cmake–build .
然后执行CPack命令
在WINDOWS下需要安装NSIS
http://nsis.sourceforge.net直接安装即可。
编辑命令如下:
然后如果是二进制安装包命令:
cpack --configCPackConfig.cmake
F:\VS2010_ZHIZUO\cmake_zhizuo>cpack--config CPackConfig.cmake
CPack: Create package using NSIS
CPack: Install projects
CPack: - Install project: Tutorial
CPack: Create package
CPack: - package:F:/VS2010_ZHIZUO/cmake_zhizuo/Tutorial-1.0.1-win32.exe generat
ed.
产生的Tutorial-1.0.1-win32.exe文件可以直接安装(默认是将Release文件中的文件打包)
如果是源码安装包命令:
cpack --configCPackSourceConfig.cmake