cmake整理

要在别人空白的服务器上安装环境和部署代码,用cmake制作安装包,没怎么看懂。贴下来,有空了慢慢研究

首先要保证已经安装了cmake,要是没安装的话,使用下面脚本安装

sudo apt install cmake

1. 创建CMakeLists.txt,内容格式参照:

cmake_minimum_required( VERSION 2.8 )
project ( cloudweb )
set(LIBS_DIR ${CMAKE_SOURCE_DIR}/lib)
set(DOCS_DIR ${CMAKE_SOURCE_DIR}/doc)  

include (InstallRequiredSystemLibraries)
set(_VERSION_MAJOR 1)  
set(_VERSION_MINOR 0)  
set(_VERSION_PATCH 0)  

#说明要生成的是deb包
set(CPACK_GENERATOR "DEB") 
SET(CPACK_BINARY_DEB "ON")
SET(CPACK_BINARY_STGZ "OFF")
SET(CPACK_BINARY_TZ "OFF")
SET(CPACK_BINARY_TGZ "OFF")


############下面是设置debian/control文件中的内容  
  
#设置版本信息  
set(CPACK_PACKAGE_VERSION_MAJOR "${_VERSION_MAJOR}") 
set(CPACK_PACKAGE_VERSION_MINOR "${_VERSION_MINOR}") 
set(CPACK_PACKAGE_VERSION_PATCH "${_VERSION_PATCH}")  

set(CPACK_SET_DESTDIR true)
set(CPACK_INSTALL_PREFIX "/usr/shineonStuido")
set(CPACK_PACKAGE_NAME "cloudweb")  


#设置程序名,就是程序安装后的名字  
set(CPACK_DEBIAN_PACKAGE_NAME "cloudweb")  
  
#设置架构  
#set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "")  
  
#设置依赖  
#set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libstdc++6, libdbus-1-3, libqt5dbus5, libqt5core5a, libqt5gui5, libqt5webkit5, libqt5network5, ssh, sshfs")  

#set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6, libstdc++6, libdbus-1-3, libqt5dbus5, libqt5core5a, libqt5gui5, libqt5webkit5, libqt5network5, ssh, sshfs, mongodb") 
#设置section  
set(CPACK_DEBIAN_PACKAGE_SECTION "net")  
  
#设置priority  
set(CPACK_DEBIAN_PACKAGE_PRIORITY "Optional")  
  
#设置description  
set(CPACK_PACKAGE_DESCRIPTION "云媒体交互服务器,让你的演播室和观众沟通无障碍")  
  
#设置联系方式  
set(CPACK_PACKAGE_CONTACT "wuliming@shineon.cc")  

set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  
 "${LIBS_DIR}/preinst;${LIBS_DIR}/postinst;${LIBS_DIR}/postrm;${LIBS_DIR}/prerm")    
#设置维护人  
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "***@qq.com")  
INSTALL(DIRECTORY cloudweb/ DESTINATION cloudweb
#	PATTERN "static" EXCLUDE
#	PATTERN "template" EXCLUDE
#	PATTERN "video.js" EXCLUDE
#	PATTERN "files" EXCLUDE
#	PATTERN "psut" EXCLUDE
#	PATTERN "thumb" EXCLUDE
#	PATTERN "previews" EXCLUDE
#	PATTERN "video.js" EXCLUDE
	)
INSTALL(DIRECTORY VMDataServer/ DESTINATION VMDataServer)
#最后 别忘记最重要的  我们使用cpack工具来实现打包工作的  
include(CPack)

2. 如图所示,把代码和CMakeLists.txt、lib放在一起(lib可以不要)


3. lib下面的文件,分别代表安装前后,卸载前后要执行的脚本

4. 在同级目录下mkdir build文件夹

5. 在build下执行以下命令:

cmake ../
make package

6. build下生成的deb文件就是目标包了


7. 使用以下脚本解压到目标目录(目标解压目录在CMakeLists.txt中配置)

dpkg -i cloudweb-1.0.0-Linux.deb

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值