Cmake常用命令(二)

本文主要介绍File关键字,它是文件系统相关的操作的入口

读文件

命令

格式

解释

示例

READ

file(READ <filename> <variable>

     [OFFSET <offset>] [LIMIT <max-in>] [HEX])

读取文件名为 <filename> 的文件并将其内容存储到 <variable> 变量中。可选的参数: <offset> 指定起始读取位置,<max-in> 最多读取字节数,HEX 将数据转为十六进制(处理二进制数据十分有用)

STRINGS

file(STRINGS <filename> <variable> [<options>...])

从 <filename> 文件解析一串 ASCII 字符串并存储到 <variable> 中。文件中的二进制文件将被忽略。回车字符(\r,CR)将被忽略。

file(STRINGS myfile.txt myfile)

命令

格式

解释

示例

WRITE

file(WRITE <filename> <content>...)

写入 <content> 到 <filename> 文件中。如果文件不存在则创建。如果文件已存在,WRITE 模式将覆盖内容

APPEND

file(APPEND <filename> <content>...)

如果为 APPEND 模式将追加内容。任何在 <filename> 文件路径中的不存在文件夹都将被创建。

文件系统

命令

格式

解释

示例

GLOB

file(GLOB <variable>

     [LIST_DIRECTORIES true|false] [RELATIVE <path>] [CONFIGURE_DEPENDS]

     [<globbing-expressions>...])

file(GLOB_RECURSE <variable> [FOLLOW_SYMLINKS]

     [LIST_DIRECTORIES true|false] [RELATIVE <path>] [CONFIGURE_DEPENDS]

     [<globbing-expressions>...])

产生一个匹配 <globbing-expressions> 的文件列表并将它存储到变量 <variable> 中

*.cxx      - 匹配所有后缀名为 cxx 的文件

*.vt?      - 匹配所有后缀名为 vta,...,vtz 的文件

f[3-5].txt - 匹配 f3.txt, f4.txt, f5.txt 文件

GLOB_RECURSE

同上

递归所有匹配文件夹的子文件夹和匹配的文件

/dir/*.py  - match all python files in /dir and subdirectories

RENAME

file(RENAME <oldname> <newname>)

从 <oldname> 移动文件或文件夹到 <newname> ,自动替换目标路径

REMOVE/REMOVE_RECURSE

file(REMOVE [<files>...])

file(REMOVE_RECURSE [<files>...])

删除文件,REMOVE_RECURSE 模式将删除给定文件和文件夹(递归)

MAKE_DIRECTORY

file(MAKE_DIRECTORY [<directories>...])

创建给定文件夹,并根据需求创建其父文件夹

COPY/INSTALL

file(<COPY|INSTALL> <files>... DESTINATION <dir>

     [FILE_PERMISSIONS <permissions>...]

     [DIRECTORY_PERMISSIONS <permissions>...]

     [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS]

     [FILES_MATCHING]

     [[PATTERN <pattern> | REGEX <regex>]

      [EXCLUDE] [PERMISSIONS <permissions>...]] [...])

复制文件、路径和符号链接到目标路径

文件路径转换

命令

格式

解释

示例

RELATIVE_PATH

file(RELATIVE_PATH <variable> <director> <file>)

计算文件 <file> 相对<directory> 的相对路径并存储到 <viriable> 变量中

文件传输

命令

格式

解释

示例

DOWNLOAD

file(DOWNLOAD <url> <file> [<options>...])

<DOWNLOAD> 模式将下载指定的 <url> 到本地 <file>

UPLOAD

file(UPLOAD   <file> <url> [<options>...])

UPLOAD 模式将上传本地 <file> 到给定的 <url>。

文件锁

命令

格式

解释

示例

LOCK

file(LOCK <path> [DIRECTORY] [RELEASE]

     [GUARD <FUNCTION|FILE|PROCESS>]

     [RESULT_VARIABLE <variable>]

     [TIMEOUT <seconds>])

锁定一个 <path> 指定的文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值