0

バックグラウンド

私たちのビルド スクリプトは、多数の .dylib および .so ファイルを「dist」ディレクトリにインストールするために使用Install()します。InstallAs()

Install(dist_dir, 'libfoo')
Install(dist_dir, 'libbar')
...

問題

ライブラリ ファイルが dist_dir にコピーされた後、各ファイルに対してカスタム関数を実行したいと考えています。そのカスタム コマンドは次のとおりです。

def add_magic(lib_filename, arg1, arg2, arg3)

私たちの目標を達成するための助けに感謝します。

これまでに何を試しましたか?

  • Builder() を介してカスタムビルダーを作成することを検討し始めました
  • Command() ビルダーも調べました
  • 疑似ビルダーを作成する AddMethod() 関数も調べました。

現在、最初の 2 つのアプローチに賭けています。ユーザー ガイドを読み、簡単な例に取り組んでいます。私たちは終わりに近づいているわけではなく、ヒントやヒントをいただければ幸いです。

4

1 に答える 1

3

次のようなことを試すことができます:

AddPostAction(target, action)
env.AddPostAction(target, action)

指定されたターゲットがビルドされた後に、指定されたアクションが実行されるように手配します。指定されたアクションは、Action オブジェクト、または Action オブジェクトに変換できるもの (以下を参照) です。

複数のターゲットが指定されている場合、アクションは、リスト内の 1 つ以上のターゲットを生成する各アクションの後に 1 回、複数回呼び出される場合があります。

例:

installBarCmd = Install(dist_dir, 'libbar')
AddPostAction(installBarCmd, Action(...))
于 2012-07-25T18:18:58.850 に答える