結局,よそから引っ張ってきたターゲットについて細かいことをしたいときには alias を1段挟むのが一番妥当な気がしてきた.
use-project /boost : path-to-boost ; # toolset が msvc の場合の boost_filesystem に対する alias alias boost_filesystem : /boost/filesystem//boost_filesystem/<link>shared/<cxxflags>"/Zc:wchar_t" : <toolset>msvc : # no default build : <define>BOOST_FILESYSTEM_DYN_LINK=1 <runtime-link>shared ; # toolset がそれ以外の場合の boost_filesystem に対する alias alias boost_filesystem : /boost/filesystem//boost_filesystem/<link>shared : # no requirement : # no default build : <define>BOOST_FILESYSTEM_DYN_LINK=1 <runtime-link>shared ; # 陽に指定されない限り,boost_filesystem はビルド対象から外す explicit boost_filesystem ; # 各ビルド対象にライブラリを指定するのが面倒なら <library> で # プロジェクトの requirements に指定してしまう. project boost_filesystem_native_file_name : requirements <runtime-link>shared <define>BOOST_ALL_NO_LIB=1 <library>boost_filesystem ;