1.project(name) 隐形定义了两个变量 name_Binary_dir name_Source_dir
2.set(var [value])//显式定义变量
3.message([SEND_EROOR|STATUS|FATAL_ERROR] “message to display”)
send_error,产生错误,生成过程被跳过
status,输出信息
fatal_error,立即停止所有cmake过程
4.add_executable(name sourcename)
生成一个名为hello的可执行文件,用源文件sourcename
5.指令不分大小写,但是变量分大小写,make clean 清理工程
6.add_subdirectory(source_dir [bin_dir])
向当前工程添加存放源文件的子目录,并指定目标二进制存放的位置
bin_dir如果不存在会自动添加一个
7.cmake_minimum_required(version 2.8 fatal_error)
如果cmake版本小于2.8,则出现严重错误,整个过程终止
8.CMAKE_MODULE_PATH
定义自己的cmake模块所在的路径
9.PROJECT_SOURCE_DIR
10.INCLUDE_DIREACTORIES(dir1 dir2)
向工程添加多个特定头文件搜索路径
11.TARGET_LINK_LIBRARIES(target library1 library2)
将目标文件链接到library上
12在cmake语法中,link_libraries和target_link_libraries是很重要的两个链接库的方式,虽然写法上很相似,但是功能上有很大区别:
1,link_libraries用在add_executable之前,target_link_libraries用在add_executable之后
2,link_libraries用来链接静态库,target_link_libraries用来链接导入库,即按照header file + .lib + .dll方式隐式调用动态库的.lib库