1

次のことを行う CMake スクリプトを作成しています。

  1. 静的ライブラリを作成します。
  2. Python スクリプトを使用して、上記のライブラリ ファイルを処理します。

(2)はスタティック ライブラリのビルドに行う必要があることに注意してください。私が理解している限りadd_custom_command、構成プロセス中に処理されているため、機能しません。私はexecute_process次のように使用しようとしました:

EXECUTE_PROCESS(
  COMMAND ${SCRIPT} --source /my/path/myLib.a --dest ${TEMP_DIR} 
  WORKING_DIRECTORY ${TEMP_DIR} 
)

また、次の 2 つの理由で機能しないようです。1) 変数を認識しない。2)ハードコーディングされたパスを配置しても、起動が早すぎます。

では、上記のシーケンスを達成する権利は何でしょうか?

4

1 に答える 1

1

いいえ、逆です。生成時にexecute_process 、コンパイル時にadd_custom_command。ターゲットに追加するだけです(POST_BUILD -ターゲットがビルドされた後):

add_custom_command(
    TARGET
    ${target}
    POST_BUILD
    COMMAND
    ${cmd} # your python script
    WORKING_DIRECTORY
    ${YOUR_DIR} # command working directory
    COMMENT
    "your comments" # you will see this message, when python script invoke
)
于 2013-08-19T16:17:32.817 に答える