「Qtの設定 - CMake」の版間の差分

408行目: 408行目:
==== 変数の宣言と代入 ====
==== 変数の宣言と代入 ====
変数は、<code>set</code>コマンドを使用して、変数を宣言および代入することができる。<br>
変数は、<code>set</code>コマンドを使用して、変数を宣言および代入することができる。<br>
変数名には、英数字、<code>_</code>、<code>.</code>、<code>/</code>、<code>-</code>、<code>+</code>を含めることができる。<br>
CMakeでは、全ての変数を文字列として扱っており、変数名には、英数字、<code>_</code>、<code>.</code>、<code>/</code>、<code>-</code>、<code>+</code>を含めることができる。<br>
また、大文字と小文字が区別される。<br>
また、大文字と小文字が区別される。<br>
<br>
変数の値を代入する時、値にスペースが含まれていない限り、引用符で囲む必要はない。<br>
  <syntaxhighlight lang="cmake">
  <syntaxhighlight lang="cmake">
  set(value 1)  # 値が1の変数valueを宣言
  set(value 1)  # 値が1の変数valueを宣言
422行目: 424行目:
   
   
  message(${${value_name}}) # ${value_name}が展開されて、${${value_name}}が${value}になり、これが展開されて2になる
  message(${${value_name}}) # ${value_name}が展開されて、${${value_name}}が${value}になり、これが展開されて2になる
</syntaxhighlight>
<br>
1つの変数に複数の値を指定する場合、各値はセミコロンで区切って結合される。(<u>文字列リストとして代入される</u>)<br>
また、未定義の変数を参照する場合は、空の文字列となる。<br>
<syntaxhighlight lang="cmake">
set(myVar a b c)    # myVarの値: a;b;c
set(myVar a;b;c)    # myVarの値: a;b;c
set(myVar "a b c")  # myVarの値: a b c
set(myVar a b;c)    # myVarの値: a;b;c
set(myVar a "b c")  # myVarの値: a;b c
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>