用CMake 打包 deb包

这里只写出一些常用的:

1 版本控制信息:

    SET(MAJOR_VERSION 1)
    SET(MINOR_VERSION 0)
    SET(PATCH_VERSION 0)
    SET(CPACK_GENERATOR "DEB")
    SET(CPACK_PACKAGE_VERSION_MAJOR "${MAJOR_VERSION}")
    SET(CPACK_PACKAGE_VERSION_MINOR "${MINOR_VERSION}")
    SET(CPACK_PACKAGE_VERSION_PATCH "${PATCH_VERSION}")
    SET(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6)")
    SET(CPACK_PACKAGE_DESCRIPTION "pro-cc service")
    SET(CPACK_PACKAGE_CONTACT "support@pro.com")
    include(CPack)

2 添加一些额外的依赖文件

SET(LIBS_DIR "$ENV{DBXML_DIR}/lib")
INSTALL(FILES ${CMAKE_SOURCE_DIR}/pro-cc.conf DESTINATION /etc/init)
INSTALL(FILES ${LIBS_DIR}/libdb-4.8.so ${LIBS_DIR}/libdbxml-2.5.so ${LIBS_DIR}/libxerces-c-3.0.so ${LIBS_DIR}/libxqilla.so.5 ${LIBS_DIR}/libxqilla.so.5.0.2  DESTINATION /usr/lib)

上面第二句的意思是 将pro-cc.conf文件安装时copy到 /etc/init下

第三句的意思是将库文件安装到/usr/lib下

生成deb包

make package

以上字段不一一讲解,很基础。不明白的可以百度或者cmake官网看文档。在cpack官网上说,cpack可以打包deb,但是始终没有找到如何加载额外的库文件到包里面,网上提供的一些没有尝试成功。就直接用INSTALL了

具体可参见:http://stackoverflow.com/questions/15461556/cpack-cannot-find-libraries-target-doesnt-exist-in-this-directory

http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack

转载于:https://my.oschina.net/mjRao/blog/356350

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值