前言
CMake和Autotools一样,都是项目构建工具。可以简单理解为,帮助我们生成Makefile,方便编译。
使用实例
(1) 创建main.c/hello.c/hello.h文件,内容如下:
//hello.cintprintHello(void) { printf("Hello,World\n"); }
//hello.hintprintHello(void);
//main.cintmain(void) { printHello(); return0; }
(2) 创建CMakeLists.txt, 内容如下:
CMAKE_MINIMUM_REQUIRED(VERSION2.6) PROJECT(HELLO) #项目名称AUX_SOURCE_DIRECTORY(. SRC_LIST) ADD_EXECUTABLE(hello${SRC_LIST})
CMAKE_MINIMUM_REQUIRED: 限定了 CMake 的版本
PROJECT: 指定项目名
AUX_SOURCE_DIRECTORY: 添加源文件列表
ADD_EXECUTABLE: 生成应用程序
(3) 创建build目录
mkdirbuild
目录结构如下:
创建build目录是为了让一些中间文件放到该目录,这样不会让目录很乱,当然也可以省略就是了。
(4) 使用cmake构建项目
cdbuildcmake .. // ..表示上一个目录
如果没有安装cmake,使用下面命令安装:
sudoapt-getinstallcmake
执行成功后会生成Makefile文件
(5) 编译生成可执行文件
make