使用CPM管理CMake C++工程中的外部依赖库

介绍CPM工具如何简化CMake项目的外部依赖管理,包括基本使用、语法详解及配置技巧。

严正声明:本文系作者davidhopper原创,未经许可,不得转载。

众所周知,对于外部依赖库的管理是CMake C++工程中一个令人头疼的问题。人们一直希望能有一个工具来自动配置CMake C++工程的外部依赖库。现在,这个自动化工具终于诞生了,这就是CPM(https://github.com/cpm-cmake/CPM.cmake)。只要电脑连接了互联网,任何CMake C++项目都可借助 CPM 添加外部依赖库。
CPM的优缺点分别为:

  • 优点

  • 极其轻量化,即插即用,无需安装,仅需下载一个CPM.cmake脚本文件;

  • 跨平台 ,可用于任何操作系统;

  • 可与Git联合使用实现对依赖库的版本管理。

  • 不足

  • 所有依赖库最初都要从网上下载构建,如离线使用需设置环境变量:CPM_SOURCE_CACHE 。

一、下载CPM

将CPM加入当前CMake工程,仅需从GitHub网站下载最新版本的CPM.cmake脚本文件,或者从其他项目中将该文件复制到当前项目。
从GitHub网站下载的命令如下所示:

# 在当前项目的根目录创建cmake目录
mkdir cmake
# 下载CPM.cmake文件到cmake目录
wget -O cmake/CPM.cmake https://github.com/cpm-make/CPM.cmake/releases/latest/download/get_cpm.cmake

说明:国内因为墙的原因,访问GitHub网站网速很慢,一般难以下载成功(说明:反正我在不用代理情况下没有下载成功过)。要解决该问题,可以使用代理。如无代理,也可以从Gitte网站寻找替代源。例如,我在Gitte网站找到了一个替代源(版本不是最新),直接将其克隆下来,命令如下所示:

git clone https://gitee.com/hejuncheng1/CPM.cmake

之后,再将该工程中的“CPM.cmake”文件复制到当前CMake项目:

# 在当前项目的根目录创建cmake目录
mkdir cmake
# 将“CPM.cmake”文件复制到cmake目录
# ~/code/CPM.cmake需要修改为你的实际地址
cp ~/code/CPM.cmake/cmake/CPM.cmake ./cmake

二、完整使用语法

CPM语法简单,使用方便,通过调用CPMAddPackage就可安装一个外部库,具体语法如下:

CPMAddPackage(
  NAME          # 依赖库的唯一名称,一般是网页链接,如果是GitHub依赖库,还需通过GITHUB_REPOSITORY属性指定GitHub仓库名
  VERSION       # 依赖库的最低版本号(可选,缺省为0)
  OPTIONS       # 传递给依赖库的配置选项(可选)
  DOWNLOAD_ONLY # 如设置,则从网上下载依赖库(可选)
  [..
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值