monoの開発ブログ

SWIGによるラッパの生成をカスタムビルドで自動化する

カスタムビルドを利用すればSWIGの呼び出しを自動化できるようなので、紹介したいと思います。

といってもそれほど大した設定ではなく、SWIGによって生成されるxxx_wrap.cxxとインターフェイスファイルであるxxx.iの両方をプロジェクトに加えた状態で、.iファイルのプロパティにあるカスタム ビルド ステップを以下のように設定するだけです。

コマンドライン
swig -c++ -ruby $(InputFileName)
出力ファイル
$(InputName)_wrap.cxx
追加の依存ファイル
$(InputName).hpp
VC++はソースコードのコンパイルよりも先にカスタムビルドの処理を行うため、必ずコンパイルよりも先にSWIGによるラッパの生成が行われます。