一些简单的语法:
- PROJECT :PROJECT (project_name [CXX] [C] [Java])**支持语言可以缺省
- 两个cmake变量:project_name_BINARY_DIR 以及project_name_SOURCE_DIR (最好使用系统预先定义好的PROJECT_BINARY_DIR以及PROJECT_BINARY_DIR替代,免得更改工程名之后需要更改这些变量名)
- SET用来显式地定义变量
- MESSAGE用来显式用户需要输出打信息
- 变量使用${ }来取值
- 参数之间使用空格或者分号分开
- 指令大小写不敏感
- 清理工程:make clean
- 内部构建以及外部构建:内部构建简单来说就是临时文件与代码文件都在同一个文件夹下,而外部构建就是把生成的临时文件都放在一个build文件下,cmake强烈推荐外部构建。
- Bug 1:在《cmake实践》中,
ADD_EXECUTABLE(hello SRC_LIST)
编译会报错,应该改为:
ADD_EXECUTABLE(hello ${SRC_LIST})
让hello world更像一个工程
- 采用out-of-source进行外部构