CMake初探

之前总提着跨平台,但却对Cmake这强大的工具没怎么使用过,第一次正儿八经使用,记录一下,打打基础。
一、CMake简介(来自互联网):

CMake 是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的 Makefile 或者 project 文件,CMake 并不直接建构出最终的软件,而是产生标准的建构档(如 Makefile 或 projects)。例如,在windows上执行cmake可以生成vc++工程,再unix下执行cmake可以生成makefile文件,之后分别用vs构建以及make就可以生成不同平台的二进制文件,是一个很强大的交叉编译工具。

二、从hello cmake讲使用方法

cmake project中的一个重要文件就是CMakeLists.txt,它有非常多的语法,最简单的如下:

cmake_minimum_required(VERSION 2.8.9)  表示需要的最低cmake版本
project (hello)                        工程名,可以随意
add_executable(hello hello.cpp)   指定编译一个可执行文件,hello是第一个参数,表示生成可执行文件的文件名(这个文件名也是任意的),第二个参数hello.cpp则用于指定源文件。

源文件:

#include <iostream>
using namespace std;
int main()
{
    cout<<"hello cmake"<<endl;
    return;
}

三、执行命令

mkdir build    //创建一个目录,生成的文件放在这里不至于污染源文件
cd build
cmake ..       //cmake的目标是我们写的CMakeLists.txt,所以指向上一层       

此时,如果是win则在build中便生成了vs的sln,如下图:

在vs中就可以打开工程了,然后在自行编译。

如果是unix,则会生成makefile文件,执行make,便可以生成可执行文件。 

四、多文件项目(单文件夹)

比如demo文件夹下有main.cpp、hello.cpp、hello.h,此时需要修改CMakeLists.txt,如下:

cmake_minimum_required(VERSION 2.8.9)  表示需要的最低cmake版本
project (hello)                        工程名,可以随意
add_executable(hello mian.cpp hello.cpp)  添加hello.cpp

五、总结

本文简单记录了cmake最原始最简单的使用方法,下次将要记录的是多文件夹情况下,cmake的使用。

发布了43 篇原创文章 · 获赞 19 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qianlixiaomage/article/details/104575562