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'中寫入一個信息. 存在則覆蓋,不存在則建立.python

    APPEND :同 WRITE, 但會加到文件末尾正則表達式

    READ :從文件中讀取信息到變量. 從 offset 開始讀取 numBytes bytes. 若是設定參數 HEX, 二進制數據將會轉成十六進制數據存到變量中.express

    STRINGS : 解析文件中的一列ASCII 字符串存到一個變量中. 文件中二進制數據被忽略. 換行字符被忽略. 同時對 Intel Hex 和 Motorola S-record 文件有效, 讀取時候自動轉換成二進制形式. 使用 NO_HEX_CONVERSION 無效.windows

    LIMIT_COUNT : 設定返回的最大字符串數目. LIMIT_INPUT :設定從輸入文件中讀取的最大byte數. LIMIT_OUTPUT :設定存入輸出變量中的最大byte數. LENGTH_MINIMUM :設定返回的最小字符串長度. 更短字符串被忽略. LENGTH_MAXIMUM :設定返回的最大字符串長度. 更長的字符串被切割. NEWLINE_CONSUME :容許字符串中包含換行符.url

    REGEX :指定返回一個與正則表達式匹配的字符串. 使用形式 日誌

      file(STRINGS myfile.txt myfile)

    變量 "myfile"中存儲一張表 每一項對於輸入文件中的一行.code

    GLOB :產生一張與全局表達式匹配的全部文件的表 並存入指定變量中. 全局表達式與正則表達式相似, 但更簡單. 若是 RELATIVE 被指定爲一個表達式, 結果將返回給定的路徑爲相對路徑ip

    全局表達式有以下例子:字符串

       *.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 .it

     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類型.

本站公眾號
   歡迎關注本站公眾號,獲取更多信息