严正声明:本文系作者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 # 如设置,则从网上下载依赖库(可选)
[..

介绍CPM工具如何简化CMake项目的外部依赖管理,包括基本使用、语法详解及配置技巧。
最低0.47元/天 解锁文章
608

被折叠的 条评论
为什么被折叠?



