欢迎来到天天文库
浏览记录
ID:49473518
大小:21.00 KB
页数:3页
时间:2020-03-01
《Cmake简单教程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Cmake简单教程Cmake简单教程变量赋set(VARabc) VAR为变量名abc为变量的值用空格分隔变量使用 ${VAR}例如: set(Fooabc) command(${Foo})相当于command(abc)流程控制语句1. ifif(var) some_command(...)endif(var)2. foreachandwhileset(VARabc)foreach(f${VAR}) message(${f})endforeach(f)3. macroandfunction//定义宏macro(helloMESSAGE)
2、 message(${MESSAGE})endmacro(hello)//调用hello("helloworld")//定义函数function(helloMESSAGE) message(${MESSAGE})endfunction(hello)//function与macro的区别:functioncreatealocalscopeforvariables.// macrosusertheglobalscope.正则表达式^ 匹配行或字符串的开始$ 匹配行或字符串的结尾. 匹配除了新行外的任意单个字符[] 匹配括号内的任意字符[^] 匹配不
3、在括号内的任意字符[-] 匹配在"-"两端范围中的字符* 匹配3/3Cmake简单教程0个或多个之前的表达式+ 匹配1个或多个之前的表达式? 匹配0个或1个之前的表达式() 保存一个匹配表达式用于之后的替换常用命令ADD_SUBDIRECTORY 添加一个子目录INCLUDE 从给出的文件中读取CMakelistfile代码 INCLUDE(file1[OPTIONAL]) INCLUDE(module[OPTIONAL]) file中的命令会立即处理如果使用module代替file1cmake将会在CMAKE_MODULE_
4、PATH中寻找名为.cmake的文件 INCLUDE_DIRECTORIES 添加include目录到build中 INCLUDE_DIRECTORIES([AFTER
5、BEFORE][SYSTEM]dir1dir2)LINK_DIRECTORIES 指定搜索库的目录 LINK_DIRECTORIES(directory1directory2...) 指定链接程序搜索库的路径PROJECT 设置项目名 PROJECT(projectname[CXX][C][JAVA]) 该命令会生成两个变量proje
6、ctname_BINARY_DIR与projectname_SOURCE_DIR后面的选项为项目支持的语言默认全部支持SET 给一个CMAKE变量赋值 SET(VAR[VALUE][CACHETYPEDOCSTRING[FORCE]])模块(module)FindPkgConfig CMake的pkg-config模块 自定义的前缀 pkg_check_modules([REQUIRED][]*) 检测所有给出的modules 设置'REQUIRED'参数后如果MODU
7、LE没有找到会发生错误 该命令会设置以下几个变量 PKG_CONFIG_FOUND 如果pkg-config可以运行在系统中为TRUE PKG_CONFIG_EXECUTABLE 3/3Cmake简单教程pkg-config程序的路径 _FOUND 如果module存在设置为1 下列生成的变量有两组值一种使用作为前缀另一种使用_STATIC作为前缀(在调用pkgconfig时使用--static选项) = 普通情况下
8、 =_STATIC 为static链接的情况下 _LIBRARIES 库 _LIBRARY_DIRS 库的路径 _LDFLAGS 所有需要的链接选项 _LDFLAGS_OTHERS 所有其他的链接选项 _INCLUDE_DIRS '-I'预处理选项 _CFLAGS 所
此文档下载收益归作者所有