浅谈对Cmake的理解

本文介绍了CMake,一个跨平台的构建系统,用于管理复杂的项目构建、测试和打包。CMake通过CMakeLists.txt文件简化工程构建,避免手动编写makefile的繁琐。文章对比了CMake和makefile,解释了二者的关系,并提供了一个简单的CMake HelloWorld示例,包括项目结构和构建过程。个人理解将CMake视为构建项目、生成makefile的工具。
摘要由CSDN通过智能技术生成

在学习云计算相关知识的时候遇到了这个概念,查找资料后有了一定的了解,记录下来,一方面增加自己的理解,另一方面希望能够帮助到有需要的人。

一 CMake定义

CMake是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。比如它能根据源码和预先配置好的构建配置文件构建出Visual Studio的.sln文件或者Linux中的Makefile、启动编译过程、启动单元测试、打包可执行文件及依赖到指定目录。

简单来说它是用来构建项目的。

二 网上高赞的理解

1. CMake

假如我们有一个深度学习框架的部分工程列表,里面有超过40个互相调用的工程共同组成,一些用于生成库文件,一些用于实现逻辑功能。他们之间的调用关系复杂而严格,如果我想在这样复杂的框架下进行二次开发,显然只拥有它的源码是远远不够的,还需要清楚的明白这几十个项目之间的复杂关系,在没有原作者的帮助下进行这项工作几乎是不可能的。

即使是原作者给出了相关的结构文档,对新手来说建立工程的过程依旧是漫长而艰辛的,因此CMake的作用就凸显出来了。原作者只需要生成一份CMakeLists.txt文档,框架的使用者们只需要在下载源码的同时下载作者提供的CMakeLists.txt,就可以利用CMake,在”原作者的帮助下“进行工程的搭建。

2. makefile

一个工程中的源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值