- cmake解决了软件跨平台需要重复编写makefile的问题
- 在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下:
- 编写 CMake 配置文件 CMakeLists.txt 。
- 执行命令 cmake PATH 或者 ccmake PATH 生成 Makefile 1
其中, PATH 是 CMakeLists.txt 所在的目录。 - 使用 make 命令进行编译。
cmake 语法
- CMakeLists.txt 的语法比较简单,由命令、注释和空格组成,其中命令是不区分大小写的。符号 # 后面的内容被认为是注释。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔。
示例:
# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
# 项目信息
project (Demo1)
# 指定生成目标
add_executable(Demo main.cc)
对于上面的 CMakeLists.txt 文件,依次出现了几个命令:
1. `cmake_minimum_required`:指定运行此配置文件所需的 CMake 的最低版本;
2. `project`:参数值是 `Demo1`,该命令表示项目的名称是 `Demo1` 。
3. `add_executable`: 将名为 [main.cc](http://main.cc/) 的源文件编译成一个名称为 Demo 的可执行文件。
- 之后,在当前目录执行 cmake . ,得到 Makefile 后再使用 make 命令编译得到 Demo1 可执行文件.
常用命令
- aux_source_directory 该命令会查找指定目录下的所有源文件,然后将结果存进指定变量名
- add_library 将 src 目录中的源文件编译为静态链接库