下载与安装
http://www.cmake.org/HTML/Download.html
基本编译格式参考例子
文件名称:CMakeLists.txt
文件内容:
# 一个总工程的根目录
# 声明要求的 cmake 最低版本
cmake_minimum_required( VERSION 2.8 )
# 声明一个 cmake 工程
project( ROBOTICS )
# 设置编译模式
set( CMAKE_BUILD_TYPE "Debug" )
include_directories(../Algorithm)
include_directories(../Encoder)
# 工程中的一个子目录
# 设置源文件
SET(SRC_LIST Filt_VS2.c
LookupTable.c
MathFunctions.c
PositionUtils.c
RG_Poly5f.c
RG_SRamp.c
RG_Trapez.c
SOFilt.c)
# 添加一个库
add_library(algorithm ${SRC_LIST})
# 添加一个可执行程序
add_executable(test_algorithm test_algorithm.cpp)
# 将库文件链接到可执行程序上
target_link_libraries(test_algorithm algorithm)
基本语法
常用
- 设置工程名与语言
PROJECT(projectname [CXX] [C] [Java])
语言为可选项,默认支持所有语言。 - 显式的定义变量
SET(SRC_LIST main.c t1.c t2.c)
使用定义变量 ${SRC_LIST}
基本语法规则
- 变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名
- 指令(参数 1 参数 2…),中间用空格或者分号隔开
ADD_EXECUTABLE(hello main.c func.c)或者
ADD_EXECUTABLE(hello main.c;func.c) - 指令是大小写无关
高频指令
- 生成可执行文件
ADD_EXECUTABLE(exe_name ${SRC_LIST})
编译命令
推荐在工程根目录下新建build文件,存放编译结果;
mkdir build
在build文件夹下执行编译命令
cd build // 进入目录
cmake .. // 拷贝上一级目录的编译配置至当前目录,生成编译环境
make // 编译
清除编译结果
make clean