夏休み終ったけどbjam始めてみます 4日目

夏休みはもう終ってしまいましたが、bjamはたまーに使っています。
C++ソースコードコンパイルするだけなら、bjamは最短なのではないでしょうか。
…と思いましたがmake最短ですね…。

boost使いたいです

3日目に書いた方法でboostを使ってもいいのですが、せっかくのbjamなので、bjamっぽく使いましょう。今回の方法はboostのソースツリーを持って必要に応じてコンパイルする設定のため、ディスク容量的には不利ですが、を指定すれば、コンパイル済みのライブラリも使えるので、こちらの方がスマートなのではないでしょうか。

まず、boostのソースがある位置をbjamに教えてあげないといけません。方法は2つあります。

1つ目は環境変数BOOST_ROOTを使う方法です。

$ export BOOST_ROOT=${HOME}/boost_1_47_0

もう1つはuser-config.jamに設定を書く方法です。

$ cat ~/user-config.jam
using boost : 1.47 : <root>/home/fujita/boost_1_47_0

そして、プロジェクトのJamrootファイルに以下の文を書きます。

import boost ;
boost.use-project ;

boost.use-projectにはバージョン指定も可能です。

boost.use-project 1.47 ;

これで、/boost//regexや/boost//filesystemといったライブラリが定義されます。ヘッダのみでいい場合は/boost//headersをrequirementsに追加します。例えば、a.cppをfilesystem付きでコンパイルしたい場合は、

exe a : a.cpp /boost/headers /boost//filesystem ;

とします。