2009年10月21日水曜日

boost-build(+bjam)でコンパイラ依存のコンパイラスイッチを渡すとき

最近はビルドにsconsよりbjam+boost-buildの方を使っています。
最新コンパイラへの対応状況がいいのと、debug/releaseビルドの.objファイルが別ディレクトリに保存される(互いに上書きされない)ので切り替えが楽な点などを評価しています。若干ドキュメントが少ないのが問題ですね。 特にboost-build v2は個別moduleに関するドキュメントが皆無で困ります。

最近ビルド時に特定のコンパイラのみフラグをつけたい(例えばMSVCで特定の警告を消すなど)という事態があり、軽く悩んだので後続の人がいるのか知りませんがそんな人のための覚書。普段<cflags>/wd4819のようにしてフラグを指定しますが、これをgccなど他のコンパイラでは付加させないようにするには、<toolset>msvc:<cflags>/wd4819 のように、toolsetの値によって条件付きのフラグにしてしまえばいいようです。

もっと大きな差分、たとえばコンパイラごとにビルドルールの種類とかまで変えたい場合は、たぶんbjam側のドキュメントを読む必要がありそうな気がしていなくもないような気がしている気配。

0 件のコメント:

コメントを投稿

登録 コメントの投稿 [Atom]

<< ホーム