Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2007-08-05 17:07:53

on Sun Aug 05 2007, Vladimir Prus <> wrote:

> I see two solutions:
> 1. Make 'free' features like 'define' and 'cflags' propagated. This
> will have undesirable effect that <define> set on some target
> will propagate to all dependencies.
> 2. Make free features specified on the command like apply to
> all targets in the project located in ".", and any child project.
> The only concern I have about this approach is that it will
> still be impossible to specify define that will apply to all
> compilations. That is, if I have two projects A and B,
> in different directories with separate Jamroots, where A uses
> libraries from B, then:
> bjam define=FOO
> in A won't affect B.
> Anybody can comment on those alternative or propose better ones?

3. Free features on the command line apply globally.

3 is the simplest way to address the problem, and probably matches
most people's expectations. I think 1 is the wrong way. The command
line options are an expedient and blunt instrument for developers who
think they know what they're doing; I think they should be treated
altogether differently from build properties specified in Jamfiles,
which can be carefully tuned.

Dave Abrahams
Boost Consulting
The Astoria Seminar ==>

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at