13,007
回編集
726行目: | 726行目: | ||
if(NOT false) | if(NOT false) | ||
<br> | <br> | ||
==== | ==== 変数の確認 ==== | ||
変数が定義済みかどうかの確認、および、数値の比較等を行うことができる。<br> | 変数が定義済みかどうかの確認、および、数値の比較等を行うことができる。<br> | ||
# 例 | # 例 | ||
747行目: | 747行目: | ||
if(IS_SYMLINK /bin/sh) # /bin/sh がシンボリックリンクかどうか | if(IS_SYMLINK /bin/sh) # /bin/sh がシンボリックリンクかどうか | ||
if(IS_ABSOLUTE /) # / が絶対パスかどうか | if(IS_ABSOLUTE /) # / が絶対パスかどうか | ||
<br> | |||
==== 数値および文字列等の比較 ==== | |||
* 数値の比較 | |||
*: 数値の比較することができる。 | |||
# 例 | |||
if(1 EQUAL 1) | |||
if(1 LESS 2) | |||
if(2 GREATER 1) | |||
<br> | <br> | ||
* 文字列のパターンマッチ | * 文字列のパターンマッチ | ||
755行目: | 763行目: | ||
# 文字列がa(1文字以上)から始まり、aの次がbで終わる場合 | # 文字列がa(1文字以上)から始まり、aの次がbで終わる場合 | ||
if("aaaab" MATCHES "^a+b$") | if("aaaab" MATCHES "^a+b$") | ||
<br> | <br> | ||
* 文字列の比較 | * 文字列の比較 | ||
770行目: | 771行目: | ||
if("a" STRLESS "aa") # "a" < "aa" | if("a" STRLESS "aa") # "a" < "aa" | ||
if("b" STRGREATER "a") # "b" > "a" | if("b" STRGREATER "a") # "b" > "a" | ||
<br> | |||
* バージョンを比較 | |||
*: バージョンを比較することができる。 | |||
*: バージョンのフォーマットは、<メジャー>[.<マイナー>[.<パッチ>[.<ビルド>]]]である。 | |||
*: 数値的な順序や辞書順には基づかない。 | |||
*: 例えば、0.1という値と0.1.0.0という値は等しいと評価される。 | |||
*: また、1.19は、1.2より大きいと評価される。 | |||
# 例 | |||
if(0.1 VERSION_EQUAL 0.1.0.0) # 0.1 == 0.1.0.0 | |||
if(0.1 VERSION_LESS 0.1.1) # 0.1 < 0.1.1 | |||
if(1.19 VERSION_GREATER 1.2) # 1.19 > 1.2 | |||
<br> | |||
* ファイルのタイムスタンプの比較 | |||
*: ファイル1とファイル2のタイムスタンプを比較することができる。 | |||
*: ファイル1がファイル2より新しい場合、<code>true</code>を返す。 | |||
*: また、いずれかのファイルが存在しない場合も、<code>true</code>を返す。 | |||
# 例 | |||
if(build/my_exe IS_NEWER_THAN /usr/local/bin/my_exe) | |||
<br><br> | <br><br> | ||