From: David Abrahams (dave_at_[hidden])
Date: 2003-03-11 11:46:42
Vladimir Prus <ghost_at_[hidden]> writes:
> Rule 2.
> Directly requested free properties apply to all variants. This means that
> <define>FOO will always be used when compiling "b.cpp", either with
> <variant>debug, <variant>release, or any other combination of properties.
> I just don't know which rule is best. Can anybody offer more reasonable
I think the 2nd rule is much easier to understand. However, I also
think we need a way to shield main targets that are part of the user's
mental implicit dependency chain from being built directly. In other
words, a probable scenario for the project in question is that the 'b'
library is just part of what's needed to build 'a', and a bjam
invocation without explicitly-requested targets should only build 'a'
If we had:
exe a : a.cpp b/<variant>release ;
intermediate lib b : b.cpp ;
then I think the first rule might make a lot more sense.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk