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

ナビゲーションに移動 検索に移動
437行目: 437行目:
  # 例
  # 例
  if(build/my_exe IS_NEWER_THAN /usr/local/bin/my_exe)
  if(build/my_exe IS_NEWER_THAN /usr/local/bin/my_exe)
<br><br>
== ログメッセージの出力 ==
==== messageコマンドとは ====
<syntaxhighlight lang="cmake">
message([<mode>] "message to display" ...)
</syntaxhighlight>
<br>
下表に、<code><mode></code>に指定できる項目を示す。(一部)<br>
<center>
{| class="wikitable" | style="background-color:#fefefe;text-align: center;"
|-
! style="background-color:#66CCFF;width: 20%;" | modeの種類
! style="background-color:#66CCFF;width: 30%;" | 説明
! style="background-color:#66CCFF;width: 30%;" | 処理の継続
! style="background-color:#66CCFF;width: 20%;" | 出力先
|-
| 省略する場合 || 重要な情報 || CMakeの処理を継続する || STDERR
|-
| STATUS || 情報 || CMakeの処理を継続する || STDOUT
|-
| WARNING || 警告 || CMakeの処理を継続する || STDERR
|-
| SEND_ERROR || エラー || CMakeの処理を継続する || STDERR
|-
| FATAL_ERROR || 致命的なエラー || CMakeの処理を終了する || STDERR
|}
</center>
<br>
以下の例では、<code>message</code>コマンドにおいて、第1引数に<code>FATAL_ERROR</code>を指定することにより、エラーメッセージを出力して、CMakeコマンドを終了している。<br>
<syntaxhighlight lang="cmake">
message(FATAL_ERROR "cmake to terminate.")
</syntaxhighlight>
<br>
また、<code>message</code>コマンドにおいて、第1引数に<code>SEND_ERROR</code>を指定することにより、エラーメッセージを出力して動作を継続する。<br>
<syntaxhighlight lang="cmake">
message(SEND_ERROR "Continue cmake.")
</syntaxhighlight>
<br>
以下の例では、Linux以外のOSの場合は、エラーメッセージを出力して、<code>cmake</code>コマンドを終了している。<br>
<syntaxhighlight lang="cmake">
if(NOT (UNIX AND NOT APPLE))
    message(FATAL_ERROR "ERROR! Only Linux can build this software.")
else()
    set(LINUX TRUE)
endif()
</syntaxhighlight>
<br>
以下の例では、CMakeの特殊変数である<code>CMAKE_COMMAND</code>と<code>CMAKE_CTEST_COMMAND</code>を出力している。<br>
<syntaxhighlight lang="cmake">
message("${CMAKE_COMMAND}")        # /usr/bin/cmake
message("${CMAKE_CTEST_COMMAND}")  # /usr/bin/ctest
</syntaxhighlight>
<br><br>
<br><br>


案内メニュー