前言
CMake和Autotools一样,都是项目构建工具。可以简单理解为,帮助我们生成Makefile,方便编译。
使用实例
(1) 创建main.c/hello.c/hello.h文件,内容如下:
1 2 3 4 5 6 7 8 |
1 2 3 4 5 6 7 | //hello.h #ifndef _HELLO_H #define _HELLO_H int printHello(void); #endif |
1 2 3 4 5 6 7 8 9 | //main.c #include<stdio.h> #include "hello.h" int main(void) { printHello(); return 0; } |
(2) 创建CMakeLists.txt, 内容如下:
1 2 3 4 5 6 7 | #cmake最低版本需求,不加入此行会受到警告信息 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT(HELLO) #项目名称 #把当前目录(.)下所有源文件加入变量SRC_LIST AUX_SOURCE_DIRECTORY(. SRC_LIST) #生成应用程序 hello ADD_EXECUTABLE(hello ${SRC_LIST}) |
CMAKE_MINIMUM_REQUIRED: 限定了 CMake 的版本
PROJECT:指定项目名
AUX_SOURCE_DIRECTORY: 添加源文件列表
ADD_EXECUTABLE: 生成应用程序
(3) 创建build目录
1 | mkdir build |
目录结构如下:

创建build目录是为了让一些中间文件放到该目录,这样不会让目录很乱,当然也可以省略就是了。
(4) 使用cmake构建项目
1 2 | cd build cmake .. // ..表示上一个目录 |
如果没有安装cmake,使用下面命令安装:
1 | sudo apt-get install cmake |

执行成功后会生成Makefile文件

(5) 编译生成可执行文件
1 | make |
