CMakeLists完整解析(一)

CMakeLists完整解析(一)

首先,我们先通过介绍一下相关的核心概念来引入CMakeLists

1、gcc、make和cmake

gcc(GNU Compiler Collection)将源文件编译(Compile)成可执行文件或者库文件;

而当需要编译的东西很多时,需要说明先编译什么,后编译什么,这个过程称为构建(Build)。常用的工具是make,对应的定义构建过程的文件为Makefile;

而编写Makefile对于大型项目又比较复杂,通过CMake就可以使用更加简洁的语法定义构建的流程,CMake定义构建过程的文件为CMakeLists.txt。

概念关系图

2、cmake应用示例

cmake-template
├── CMakeLists.txt
└── src
	└── c
    	└── main.c

其中CMakeLists.txt内容如下:

cmake_minimum_required(VERSION 3.12)
project(cmake_template VERSION 1.0.0 LANGUAGES C CXX)

add_executable(demo src/c/main.c)

该CMakeLists.txt声明了需要使用的cmake的最低版本;项目的名字、版本以及编译语言;最后一句定义了通过源文件main.c生成可执行文件demo。详细的CMake语法在后续文章会展开介绍。

1)生成构建系统

在cmake-template目录下,执行以下命令:

cmake --build build
2)执行构建

因为使用的是make工具,所以也可以创建一个build文件夹后在build中直接执行make命令:

mkdir build && cd build && make

执行完成后,可以在build目录下看到已经生成可执行文件demo,我们就可以执行demo

./build/demo

上面展示了一个c文件利用cmake和make执行的全过程,后面的文章会详细展开CMakeLists.txt编写的语法以及含义

参考文献:

https://zhuanlan.zhihu.com/p/367808125

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值