由于cmake内容较多,篇幅较长,为了不让人疲倦,分成了多篇博客,全部博客链接如下
cmake简洁教程 - 第一篇_YZF_Kevin的博客-CSDN博客
cmake简洁教程 - 第二篇_YZF_Kevin的博客-CSDN博客
cmake简洁教程 - 第三篇_YZF_Kevin的博客-CSDN博客
cmake简洁教程 - 第四篇_cmake全局变量_YZF_Kevin的博客-CSDN博客
cmake简洁教程 - 第五篇_YZF_Kevin的博客-CSDN博客
这是博客cmake简洁教程的第一篇,主要介绍cmake的简介,安装,升级,入门示例
简介
linux环境下c/c++的编译都要用到makefile,但是makefile较为复杂,不易入门,而且跨平台性也不好,所以cmake诞生了,它是跨平台,跨编译器的,其配置文件cmakelists.txt可以直接拿到其它平台上使用,不用修改,即可生成对应平台的编译文件
cmake图标如下
cmake的安装
本文使用ubuntu16.04,使用如下命令即可安装
sudo apt install cmake
安装成功后,输入命令 cmake -version 即可查看cmake版本,如图这里是3.5.1
cmake的升级
ubuntu自带或者默认安装的cmake版本都比较低。有时候我们编译其他人的工程时需要更高的cmake版本,可以参考我的这篇博客
Ubuntu升级cmake的正确方式_YZF_Kevin的博客-CSDN博客_cmake ubuntu 升级
cmake的入门
我们从最简单的hello world程序开始。新建main.c文件,内容如下
- #include
- int main(void)
- {
- printf("Hello World\n");
- return 0;
- }
在main.c文件的同目录下,我们再新建一个CMakeLists.txt文件,内容如下
- cmake_minimum_required (VERSION 3.5)
- project (demo)
- add_executable(main main.c)
第1行的意思是要求cmake的最低版本是3.5
第2行的意思是本项目工程名为demo,注意这个只是工程名,不是编译出来的可执行文件名
第3行的意思是要编译的ELF文件,也就是二进制文件名为main,使用的源文件名为main.c
好了,我们在CMakeLists.txt文件的目录下执行如下命令(意思是把本目录下的CMakeLists.txt文件生成makefile文件)
cmake .
结果如下图(查看本目录可以看到生成了Makefile文件,其他是一些cmake的临时文件)
再执行 make 命令和 ll 命令
结果如下图(生成了最终的可执行文件 main)
我们执行该文件,成功了!
好了,现在最简单的cmake示例就完成了
本篇总结,3个命令
1. cmake_minimum_required (VERSION 3.5) 指定cmake的最低版本
2. project (demo) 设置项目名字,注意包含这个命令的cmake文件所在目录就是项目的根目录了,也是cmake自带的全局变量 PROJECT_SOURCE_DIR 的值
3. add_executable(main main.c) 设置要编译的可执行文件,以及所使用的源文件
下一篇我们将会稍复杂的多文件,多目录编译