|
|
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> |
|
| |
|