「CMake - 条件分岐」の版間の差分

ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == <code>if()</code>コマンドおよび<code>elseif()</code>コマンドの引数には、そのブロックを実行する条件式を記述する。<br> この条件式には、以下に示す種類がある。<br> <br> * ブール定数 *: CMakeの値は全て文字列型であるが、条件式では以下に示す値がBooleanとして認識される。 *: <u>これらの値は、大文字・小文字は区別されないことに注意する。</u>…」)
 
119行目: 119行目:
  # 例
  # 例
  if(build/my_exe IS_NEWER_THAN /usr/local/bin/my_exe)
  if(build/my_exe IS_NEWER_THAN /usr/local/bin/my_exe)
</syntaxhighlight>
<br><br>
== その他の条件分岐 ==
==== OSでの分岐 ====
Linuxのみビルドを可能にする場合は、条件分岐により現在のプラットフォームがLinuxであるかどうかを確認する。<br>
<br>
LinuxおよびMacOS以外のUNIX系OSは含まれないため、CMake変数<code>CMAKE_SYSTEM_NAME</code>を使用してより詳細な条件を設定することもできる。<br>
<syntaxhighlight lang="cmake">
# OSの確認
if(UNIX AND NOT APPLE)
    # Linuxの場合
    message("Linux detected. Proceeding with CMake configuration...")
else()
    # Linux以外の場合
    message(FATAL_ERROR "This project requires Linux to build.")
endif()
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>

案内メニュー