ページの作成:「== 概要 == 外部コマンドを実行するためのCMakeコマンドにおいて、execute_processコマンドおよびadd_custom_commandコマンドがある。<br> これらは、異なる用途と実行タイミングを持つ。<br> <br> execute_processコマンドでは、CMakeの設定時 (configureスクリプト時) に即座に実行される。<br> 外部ツールを使用してビルドに必要な情報を取得する場合に使用されることが…」
 
5行目: 5行目:
execute_processコマンドでは、CMakeの設定時 (configureスクリプト時) に即座に実行される。<br>
execute_processコマンドでは、CMakeの設定時 (configureスクリプト時) に即座に実行される。<br>
外部ツールを使用してビルドに必要な情報を取得する場合に使用されることが多い。<br>
外部ツールを使用してビルドに必要な情報を取得する場合に使用されることが多い。<br>
  <syntaxhighlight lang="cmake">  
  <syntaxhighlight lang="cmake">
  execute_process(
  execute_process(
     COMMAND <cmd1> [args1...]
     COMMAND <cmd1> [args1...]       # 実行する最初のコマンドと引数
     [COMMAND <cmd2> [args2...]]
     [COMMAND <cmd2> [args2...]]     # パイプで接続される後続のコマンド
     [WORKING_DIRECTORY <directory>]
     [WORKING_DIRECTORY <directory>] # コマンド実行時の作業ディレクトリ
     [RESULT_VARIABLE <variable>]
     [RESULT_VARIABLE <variable>]     # 実行結果のステータスコードを格納する変数
     [OUTPUT_VARIABLE <variable>]
     [OUTPUT_VARIABLE <variable>]     # 標準出力の内容を格納する変数
     [ERROR_VARIABLE <variable>]
     [ERROR_VARIABLE <variable>]     # 標準エラー出力の内容を格納する変数
     [INPUT_FILE <file>]
     [INPUT_FILE <file>]             # 標準入力としてリダイレクトするファイル
     [OUTPUT_FILE <file>]
     [OUTPUT_FILE <file>]             # 標準出力をリダイレクトするファイル
     [ERROR_FILE <file>]
     [ERROR_FILE <file>]             # 標準エラー出力をリダイレクトするファイル
  )
  )
  </syntaxhighlight>
  </syntaxhighlight>
23行目: 23行目:
  <syntaxhighlight lang="cmake">
  <syntaxhighlight lang="cmake">
  add_custom_command(
  add_custom_command(
     OUTPUT output1 [output2 ...]
     OUTPUT output1 [output2 ...]         # 生成される出力ファイル
     COMMAND command1 [ARGS] [args1...]
     COMMAND command1 [ARGS] [args1...]   # 実行するコマンドと引数
     [COMMAND command2 [ARGS] [args2...]]
     [COMMAND command2 [ARGS] [args2...]] # 追加のコマンド
     [MAIN_DEPENDENCY depend]
     [MAIN_DEPENDENCY depend]             # 主要な入力依存ファイル
     [DEPENDS [depends...]]
     [DEPENDS [depends...]]               # その他の依存ファイルやターゲット
     [WORKING_DIRECTORY dir]
     [WORKING_DIRECTORY dir]               # コマンド実行時の作業ディレクトリ
     [COMMENT comment]
     [COMMENT comment]                     # ビルド時に表示されるメッセージ
     [VERBATIM]
     [VERBATIM]                           # コマンドラインの引数をそのまま使用
  )
  )
  </syntaxhighlight>
  </syntaxhighlight>