【cmake系列使用教程】
在前边的文章中已经讲过了如何使用cpack,但是那只是一个官方的简版教程,这次讲解的是我在实际开发Linux c中遇到的一些cpakc的问题。
简介
CPack是作为一个模块出现在cmake构建系统中的,它是一个非常强大的打包工具,可以用来打包二进制文件或者源码。打包好的二进制文件中包含了所有的cmake install命令需要的安装文件。在打包源码时,也可以生成对应的压缩包。 cpack可以依赖cmake构建生成的config文件,也可以自己编写配置文件。我属于比较懒的类型,直接使用cmake生成的config文件吧。generator是一个比较重要的东西,它算是你要生成的打包文件的类型,cpack默认提供了一个列表来指定这个东西。
主要工作流程:
- cpack执行
- 寻找CPackConfig.cmake文件
- 遍历命令行 -G传入的generator参数,假如没有传入参数,则检查CPackConfig.cmake文件或者CPackSourceConfig.cmake文件中的CPAKC_GENERATOR变量,注意这个优先级的问题,命令行参数会覆盖配置文件的参数。
- 为每一个generator来生成对应的打包文件
流程就是如此简单。
具体配置
这里以我自己的一个开源项目为例子来讲解--Sweather,这是个c语言的获取天气的命令行工具。地址:github.com/rangaofei/S…
首先看一下工程目录结构:
.
├── CMakeLists.txt
├── License.txt
├── PIC
├── README.md
├── assets
├── build
├── cmake-build-debug
├── logfile
├── pack
├── sakabrew.sh
└── src
复制代码
- CMakeLists.txt是cmake执行的入口文件
- License.txt是协议信息<