以下內容來自cmake官方文件: 傳送門
if()
elseif() # optional block, can be repeated
else() # optional block
endif()
else和endif後面的括號中的
可寫可不寫,如果寫了,就必須和if中的
一致。
如果不記得優先順序,就加括號,簡單粗暴~
表示式true
false
說明constant 為1, on, yes, true, y, 或非零數值
0, off, no, false, n, ignore, notfound,空字串,或者帶-notfound字尾
布林值大小寫不敏感;如果與這些常量都不匹配,則將其視為變數或字串
已經定義且不是false的變數
未定義或者是false的變數
變數就是字串
not
condition為false
condition為true
and
cond1和cond2同時為true
cond1和cond2至少有乙個為false
command command-name
command-name是乙個已經定義的cammand, macro或function
command-name未定義
policy policy-id
policy-id存在
policy-id不存在
policy可以理解為cmake的語法,當語句無法相容不同的cmake版本時,可以判斷policy-id來做相容性處理
target target-name
target-name是add_executable(), add_library(), add_custom_target()定義過的target
target-name未定義
test test-name
test-name為add_test()建立過的測試名稱
test-name未建立
exists path
存在路徑為path的檔案或目錄
不存在路徑為path的檔案或目錄
file1 is_newer_than file2
file1檔案時間戳比file2大,其中乙個檔案不存在,兩個檔案時間戳相同
其他情況
路徑需要時全路徑
is_directory path
path為目錄
path不為目錄
path必須是全路徑
is_symlink path
path為鏈結
path不為連線
path必須是全路徑
is_absolute path
path為絕對路徑
path不為絕對路徑
matches regex
variable與正規表示式regex匹配成功
variable與正規表示式匹配失敗
less
var1和var2均為數字且var1小於var2
var1不小於var2
其他數值比較操作符:greater , equal, less_equal, greater_equal
var1和var2為字串且按照字典順序var1小於var2
var1不小於var2
其他字串比較操作符:strgreater, strequal, strless_equal , strgreater_equal
左邊版本號小於右邊版本號
左邊版本號大於等於右邊版本號
其他的版本號比較操作符:version_greater, version_equal, version_less_equa, version_greater_equal
右邊list中包含左邊
不包含defined
已定義變數
未定義變數
cache {}
已定義cache variable
未定義env {}
存在環境變數
不存在環境變數
條件判斷 條件篩選?不如條件判斷!
怎樣加快招投標工作流程呢?在此給您支個招,讓excel幫你提高工作效率吧。以下是考評 商是否合格的列表,得分小於60或缺評,則判為 不合格 得分大於60,則判為 合格 為了方便大家學習,開拓思路,在此提供兩種解題方法。01 條件篩選法 開啟篩選功能 數字篩選 小於 在 自定義自動篩選方式 中,分別輸...
條件判斷if
if用於條件判斷,適用於以下情形 1 判斷驅動器 檔案或資料夾是否存在,用 if exist 語句 2 判斷某兩個字串是否相等,用 if 字串1 字串2 語句 3 判斷某兩個數值是否相等,用 if 數值1 equ 數值2 語句 4 判斷某個變數是否已經被賦值,用 if defined str 語句 ...
if 條件判斷
if 語句用於有條件的執行。語法如下 if assignment expression suite elif assignment expression 可選子句 suite 可以多個 elif else 可選子句 suite對於簡單語句,可以寫為一行,但不推薦。它通過對表示式逐個求值直至找到乙個真...