您的位置:首页 > 运维架构 > Linux

Cmake 构建程序

2016-05-29 18:47 190 查看

Cmake 构建程序

CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建程序,可以产生标准的构建文件,如 Unix 的 Makefile。CMakeLists.txt 需要手工编写,也可以通过编写脚本进行半自动的生成。CMake 提供了比 autoconfig 更简洁的语法。在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:

编写 CmakeLists.txt。

执行命令“cmake PATH”或者“ccmake PATH”生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。

使用 make 命令进行编译。

(一)入门使用

假设有源文件main.cpp:

#include<iostream>

using namespace std;

int main(){
cout<<"Hello Cmake!"<<endl;
return 0;
}


在Linux下编译该文件,可以使用命令
g++ main.cpp -o run
就可一编译并生成命名为‘run’的可执行文件。

如何使用Cmake来实现上述的功能呢?

1. 编写CmakeLists.txt文件

PROJECT(MAIN)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
AUX_SOURCE_DIRECTORY(. SRC)
ADD_EXECUTABLE(MAIN $SRC)


一个简单的CmakeLists.txt文件就包含这几行(不区分大小写)。分析一下,第一行指定该工程的名字,括号中的名字自己取一个即可;第二行限定使用cmake的最低版本,Ubuntu14.04自带的是2.8;第三行就是需要编译的源文件路径了,例子中是把当前路径(.)设为源文件路径并赋值给变量SRC;第四行,把变量SRC下的源文件编译生成可执行文件MAIN(可以任意命名)。

2. 把CmakeLists.txt文件放在main.cpp相同的路径下,执行
cmake .
,cmake 就会自动在当前路径寻找CmakeLists.txt文件并编译,生成MakeFile文件。

3. 依然在相同的路径下,执行
make
,可以看到生成了可执行文件‘MAIN’

多源文件处理和添加链接库的使用待续…
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cmake makefile linux 编译