Subject: Re: [Boost-build] return of check-target-builds rule
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2016-05-27 20:31:44


AMDG

On 05/27/2016 06:02 PM, Edward Diener wrote:
> If the rule check-target-builds is called as:
>
> local ctbres = [ check-target-builds some_metatarget some_message :
> some_true_property : some_false_property ] ;
>
> and, let's say, 'some_metatarget' builds, the value of 'cbtres' is not
> 'some_true_property'. Instead the value of 'cbtres; is something like:
>
> <conditional>@object(check-target-builds-worker)@2270.check
>
> Therefore is there a way to subsequently test 'cbtres' to see which
> value was actually chosen, whether 'some_true_property' or
> 'some_false_property' in my example, from the return value of the rule ?
>

  The check is only evaluated later as
it can depend on the properties that you
are using to build. There are a number
of ways that you can deal with this.

- You can add your own <conditional> that
  does further processing based on the
  results of check-target-builds. (I
  doubt this gains you anything as a
  conditional needs to return a list of
  properties and you might as well just
  list the properties that you want in
  the call to check-target-builds.)
- Use the properties to select a target
  alternative.
- Instead of using check-target-builds,
  just run [ SHELL "some-program -arguments" ]
  in the Jamfile and use the result to do
  whatever you want.

Probably more, but it's hard to say without
knowing what you're trying to achieve here.

In Christ,
Steven Watanabe