bjam_win その7
Boost 1.34でも無事に動くようになったので、機能追加です。
昨日実装したexe/libに加え、testing.jamで定義される、
- compile
- compile-fail
- link
- link-fail
- run
- run-fail
に対応しました。
テストのソースファイル名が「hoge.cpp」なら「hoge.test」がターゲット名になります。(←今日、気付いた)
(4/19 追記) ↑勘違い。ターゲット名は拡張子なしの「hoge」でした。
現在の実装では、ルール名にマッチするものを抽出しているだけなので、
rule test-with-bzip2 ( sources * : requirements * ) { return [ run $(sources) : : : <library>/boost/iostreams//boost_iostreams <link>shared:<define>BOOST_IOSTREAMS_DYN_LINK=1 $(requirements) ] ; }
のように独自ルールを使っている場合は正しくターゲット名を取得できません。
まじめに処理を追っていくのは厳しいですが、testとかrunとかを含むルールを全てテスト用とみなせば、お手軽に対応できそうな気はします。
Windows VistaのUACみたいでイヤな仕様ですが。