monolithic kernel

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

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

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

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