cmake使用教程(十一)-使用cpack打包源码并编写自动化脚本上传到仓库

本文详细介绍了如何使用cmake的cpack模块打包Linux C项目的源码,并通过自动化shell脚本将打包文件上传到brew仓库。主要内容包括设置打包路径、协议信息、版本、忽略文件、生成器以及自动化构建和上传流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【cmake系列使用教程】

cmake使用教程(一)-起步

cmake使用教程(二)-添加库

cmake使用教程(三)-安装、测试、系统自检

cmake使用教程(四)-文件生成器

cmake使用教程(五)-cpack生成安装包

cmake使用教程(六)-蛋疼的语法

cmake使用教程(七)-流程和循环

cmake使用教程(八)-macro和function

cmake使用教程(九)-关于安卓的交叉编译

cmake使用教程(十)-关于file

在前边的文章中已经讲过了如何使用cpack,但是那只是一个官方的简版教程,这次讲解的是我在实际开发Linux c中遇到的一些cpakc的问题。

简介

CPack是作为一个模块出现在cmake构建系统中的,它是一个非常强大的打包工具,可以用来打包二进制文件或者源码。打包好的二进制文件中包含了所有的cmake install命令需要的安装文件。在打包源码时,也可以生成对应的压缩包。 cpack可以依赖cmake构建生成的config文件,也可以自己编写配置文件。我属于比较懒的类型,直接使用cmake生成的config文件吧。generator是一个比较重要的东西,它算是你要生成的打包文件的类型,cpack默认提供了一个列表来指定这个东西。

主要工作流程:

  1. cpack执行
  2. 寻找CPackConfig.cmake文件
  3. 遍历命令行 -G传入的generator参数,假如没有传入参数,则检查CPackConfig.cmake文件或者CPackSourceConfig.cmake文件中的CPAKC_GENERATOR变量,注意这个优先级的问题,命令行参数会覆盖配置文件的参数。
  4. 为每一个generator来生成对应的打包文件

流程就是如此简单。

具体配置

这里以我自己的一个开源项目为例子来讲解--Sweather,这是个c语言的获取天气的命令行工具。地址:github.com/rangaofei/S…

首先看一下工程目录结构:

.
├── CMakeLists.txt
├── License.txt
├── PIC
├── README.md
├── assets
├── build
├── cmake-build-debug
├── logfile
├── pack
├── sakabrew.sh
└── src
复制代码
  1. CMakeLists.txt是cmake执行的入口文件
  2. License.txt是协议信息<
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值