Cmake简单教程.doc_第1页
Cmake简单教程.doc_第2页
Cmake简单教程.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Cmake简单教程Cmake简单教程变量赋set(VAR a b c) VAR为变量名 a b c 为变量的值用空格分隔变量使用$VAR 例如: set (Foo a b c) command ($Foo) 相当于 command (a b c)流程控制语句1. ifif(var) some_command(.)endif(var)2. foreach and whileset (VAR a b c)foreach (f $VAR) message($f)endforeach(f)3. macro and function /定义宏macro (hello MESSAGE) message($ MESSAGE)endmacro (hello)/调用hello(hello world)/定义函数function (hello MESSAGE) message($MESSAGE)endfunction(hello)/function与macro的区别: function create a local scope for variables./ macros user the global scope.正则表达式 匹配 行或字符串的开始$ 匹配 行或字符串的结尾. 匹配 除了新行外的任意单个字符 匹配 括号内的任意字符 匹配 不在括号内的任意字符- 匹配 在-两端范围中的字符* 匹配 0个或多个之前的表达式+ 匹配 1个或多个之前的表达式? 匹配 0个或1个之前的表达式() 保存一个匹配表达式 用于之后的替换常用命令ADD_SUBDIRECTORY 添加一个子目录INCLUDE 从给出的文件中读取CMake listfile代码 INCLUDE(file1 OPTIONAL) INCLUDE(module OPTIONAL) file中的命令会立即处理 如果使用module代替file1 cmake将会在CMAKE_MODULE_PATH中寻找名为.cmake的文件 INCLUDE_DIRECTORIES 添加include目录到build中 INCLUDEDIRECTORIES(AFTER|BEFORE SYSTEM dir1 dir2)LINK_DIRECTORIES 指定搜索库的目录 LINK_DIRECTORIES(directory1 directory2 .) 指定链接程序搜索库的路径PROJECT 设置项目名 PROJECT (projectname CXX C JAVA) 该命令会生成两个变量 projectname_BINARY_DIR与projectname_SOURCE_DIR 后面的选项为项目支持的语言 默认全部支持SET 给一个CMAKE变量赋值 SET(VAR VALUE CACHE TYPE DOCSTRING FORCE)模块(module)FindPkgConfig CMake 的pkg-config模块 自定义的前缀 pkg_check_modules( REQUIRED *) 检测所有给出的modules 设置REQUIRED参数后 如果MODULE没有找到会发生错误 该命令会设置以下几个变量 PKG_CONFIG_FOUND 如果pkg-config可以运行在系统中 为TRUE PKG_CONFIG_EXECUTABLE pkg-config程序的路径 _FOUND 如果module存在 设置为1 下列生成的变量有两组值 一种使用作为前缀 另一种使用_STATIC作为前缀 (在调用pkgconfig时使用-static选项) = 普通情况下 = _STATIC 为static链接的情况下 _LIBRARIES 库 _LIBRARY_DIRS 库的路径 _LDFLAGS 所有需要的链接选项 _LDFLAGS_OTHERS 所有其他的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论