02 cmake語法 if 條件表達

2022-09-02 17:54:08 字數 1307 閱讀 9715

if(expression)

# then section.

command1(args ...)

command2(args ...)

...elseif(expression2)

# elseif section.

command1(args ...)

command2(args ...)

...else()

# else section.

command1(args ...)

command2(args ...)

...endif()

if(" $" strequal " $")

message(fatal_error "

fatal: in-source builds are not allowed.

you should create a separate directory for build files.

")endif()

strequal是 cmake 的關鍵字,用於字串比較,相同返回 true

$是 cmake 的自保留變數(拿來用就可以,含義已經確定),檔案路徑

$是輸出路徑

not

非,not e1

and

與,e1 and e2

or

或,e1 or e2

exist

~ e,存在 name 的檔案或者目錄(應該使用絕對路徑),真

command

~ e,存在 command-name 命令、巨集或函式且能夠被呼叫,真

defined

~ e,變數被定義了,真

equal

e1 ~ e2,變數值或者字串匹配 regex 正規表示式

less

greater

strless

e1 ~ e2,變數值或者字串為有效的數字且滿足小於(大於、等於)的條件

strgreater

strequal

CMake基本語法

型別 分類 bool string path filepath 配置變數型別 list 轉換 推導 具名 宣告週期 set 宣告,unset取消 定義乙個變數 判斷是否定義用defined set 變數名 變數值 引用乙個變數 取消乙個變數 unset 變數名 內部變數 系統環境變數 env 工程源...

Cmake語法詳解

一 什麼是cmake 在android studio 2.2及以上,構建原生庫的預設工具是cmake。cmake是乙個跨平台的構建工具,可以用簡單的語句來描述所有平台的安裝編譯過程。能夠輸出各種各樣的makefile或者project檔案。cmake並不直接構建最終的軟體,而是產生其他工具的腳步 如...

Cmake之基本語法

cmake注意就是乙個cmakelists.txt.參考下面 下面開始乙個乙個語法的研讀 cmake minimum required version 3.5 檢查cmake的版本,至少為3.5 cmake policy set cmp0025 new 暫時步研究,看不懂 project absl ...