cmake简洁教程 - 第一篇

由于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的临时文件)

cmake简洁教程 - 第一篇_第1张图片

 再执行 make 命令和 ll 命令

结果如下图(生成了最终的可执行文件 main)

cmake简洁教程 - 第一篇_第2张图片

 我们执行该文件,成功了!

 好了,现在最简单的cmake示例就完成了

本篇总结,3个命令

1. cmake_minimum_required (VERSION 3.5)    指定cmake的最低版本
2. project (demo)   设置项目名字,注意包含这个命令的cmake文件所在目录就是项目的根目录了,也是cmake自带的全局变量 PROJECT_SOURCE_DIR 的值
3. add_executable(main main.c)   设置要编译的可执行文件,以及所使用的源文件

下一篇我们将会稍复杂的多文件,多目录编译

cmake简洁教程 - 第二篇_YZF_Kevin的博客-CSDN博客

你可能感兴趣的:(makefile和cmake,cmake入门,cmake教程,cmake详解)