CMake系列
前言
cmake是一个跨平台编译链工具,近年来很多开发环境都支持并使用。
本文简述Linux下cmake的使用,以展示其基本使用方法。
- | - |
---|---|
操作系统 | Ubuntu 2204 |
一、安装工具
sudo apt install make cmake g++ vim
不用vim可以不装
二、编写代码
1.代码
新建项目文件夹(test)然后编写C文件和CMake文件
mkdir test
cd test
vim main.c
vim CMakeLists.txt
hello.c
#include <stdio.h>
void hello(void)
{
printf("In the %s\n", __FILE__);
}
main.c(示例):
#include <stdio.h>
int main(void)
{
void hello(void);
hello();
printf("In the %s\n", __FILE__);
return 0;
}
CMakeLists.txt
project(TEST) #设置项目名称为TEST
set(SOURCE_LIST main.c) #初始变量SOURCE_LIST可以一次初始多个值也可以后面追加
set(SOURCE_LIST ${SOURCE_LIST} hello.c) #向变量SOURCE_LIST追加hello.c
add_executable(test.out ${SOURCE_LIST}) #设置可执行文件为test.out 源码依赖SOURCE_LIST变量里的源文件
2.编译
执行cmake以生成Makefile等文件
其中 -B 指令指定了生成文件存放于build文件夹下
cmake -B build
执行make调用g++最终生成可执行文件(.out)
cd build
make
共生成如下文件,以及可执行文件运行效果
后续清理把build文件夹删除即可
cd ..
rm -r build
总结
如上,已经经历过一个简单cmake工程的编译运行。
可以看出cmake并没有直接执行代码编译,而是在Linux下用cmake生成了Makefile文件,再用Makefile进行编译。
在跨平台中,cmake将会生成其他类似makefile的编译环境以达到跨平台的作用。