cmake-file

  • file: File manipulation command.
      file(WRITE filename "message to write"... )
    file(APPEND filename "message to write"... )
    file(READ filename variable [LIMIT numBytes] [OFFSET offset] [HEX])
    file(STRINGS filename variable [LIMIT_COUNT num]
    [LIMIT_INPUT numBytes] [LIMIT_OUTPUT numBytes]
    [LENGTH_MINIMUM numBytes] [LENGTH_MAXIMUM numBytes]
    [NEWLINE_CONSUME] [REGEX regex]
    [NO_HEX_CONVERSION])
    file(GLOB variable [RELATIVE path] [globbing expressions]...)
    file(GLOB_RECURSE variable [RELATIVE path]
    [FOLLOW_SYMLINKS] [globbing expressions]...)
    file(REMOVE [file1 ...])
    file(REMOVE_RECURSE [file1 ...])
    file(MAKE_DIRECTORY [directory1 directory2 ...])
    file(RELATIVE_PATH variable directory file)
    file(TO_CMAKE_PATH path result)
    file(TO_NATIVE_PATH path result)
    file(DOWNLOAD url file [TIMEOUT timeout] [STATUS status] [LOG log])

    WRITE : 向文件 'filename'中写入一个信息. 存在则覆盖,不存在则创建.

    APPEND :同 WRITE, 但会加到文件末尾

    READ :从文件中读取信息到变量. 从 offset 开始读取 numBytes bytes. 如果设定参数 HEX, 二进制数据将会转成十六进制数据存到变量中.

    STRINGS : 解析文件中的一列ASCII 字符串存到一个变量中. 文件中二进制数据被忽略. 换行字符被忽略. 同时对 Intel Hex 和 Motorola S-record 文件有效, 读取时候自动转换成二进制形式. 使用 NO_HEX_CONVERSION 无效.

    LIMIT_COUNT : 设定返回的最大字符串数目. LIMIT_INPUT :设定从输入文件中读取的最大byte数. LIMIT_OUTPUT :设定存入输出变量中的最大byte数. LENGTH_MINIMUM :设定返回的最小字符串长度. 更短字符串被忽略. LENGTH_MAXIMUM :设定返回的最大字符串长度. 更长的字符串被切割. NEWLINE_CONSUME :允许字符串中包含换行符.

    REGEX :指定返回一个与正则表达式匹配的字符串. 使用形式 

      file(STRINGS myfile.txt myfile)

    变量 "myfile"中存储一张表 每一项对于输入文件中的一行.

    GLOB :产生一张与全局表达式匹配的所有文件的表 并存入指定变量中. 全局表达式与正则表达式类似, 但更简单. 如果 RELATIVE 被指定为一个表达式, 结果将返回给定的路径为相对路径

    全局表达式有如下例子:

       *.cxx      - 匹配所有后缀 cxx 的文件
    *.vt? - 匹配所有后缀 vta,...,vtz 的文件
    f[3-5].txt - 匹配 f3.txt, f4.txt, f5.txt

    GLOB_RECURSE :与 GLOB 类似, 但会遍历匹配路径下面的所有子路径并匹配文件. 只有当 FOLLOW_SYMLINKS 给定时,子路径才会当符号链接遍历 或者cmake policy CMP0009 为被设定为 NEW. 参见 cmake --help-policy CMP0009 .

     recursive globbing 例子:

       /dir/*.py  - match all python files in /dir and subdirectories 匹配/dir中及子路径中的所有python文件

    MAKE_DIRECTORY : 创建给定路径,如果父路径不存在

    REMOVE :   删除给定文件,包括子路径  

    REMOVE_RECURSE : 删除给定文件和路径,包括非空路径

    RELATIVE_PATH : 确定路径到确定文件的相对路径

    TO_CMAKE_PATH :路径转换成cmake类型的路径'/'.输入可以是一个简单的路径或是系统路径"$ENV{PATH}".注意双引号中的ENV调用TO_CMAKE_PATH只带有一个参数。

TO_NATIVE_PATH :与 TO_CMAKE_PATH类似, 从cmake路径形式转换为一般形式 windows'\'  , UNIX'/' .

DOWNLOAD : 从给定URL中下载到给定文件. 如果 LOG 变量设定,下载日志将会放入变量中. 如果STATUS 变量 被设定, 操作状态将会放入变量中. 状态以长度为2的表返回. 第一个参数返回的是操作值, 第二个返回的是错误字符串. 0表示没有错误. 如果 TIMEOUT time 设定, 操作在 time 秒后 超时, time 可设定为float类型.

posted @ 2013-09-05 15:01  Greenbird  Views(1950)  Comments(0Edit  收藏  举报

To further demonstrate the capabilities of KinFu Large Scale, we made another example with a room.