• 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> 指定的文件

  • 相关阅读:
    docker 搭建 redis 集群
    服务器出现了一个新软件,一帮大佬吵起来了!
    Socket网络编程及其实现(图文)
    Spring Cloud Zuul 基本原理
    Codeforces Round #813 (Div. 2)A-E1
    飞行机器人专栏(十四)-- Kinect DK 人体骨骼点运动提取方法
    java毕业设计房屋出租mybatis+源码+调试部署+系统+数据库+lw
    智慧城市如何助力疫情防控:科技赋能城市安全
    实现微信机器人开发,个微api
    k8s简介
  • 原文地址:https://blog.csdn.net/zhanglehes/article/details/125633704