Subject: Re: [Boost-build] allowing targets to fail
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2017-03-25 03:38:11
On 03/24/2017 08:48 PM, Stefan Seefeld via Boost-build wrote:
> On 24.03.2017 18:14, Steven Watanabe via Boost-build wrote:
>> There isn't really a way. NOCARE is almost what you
>> need, but its behavior for targets with updating
>> actions isn't clearly specified. I think it's
>> better just to let the targets fail. Boost.Build
>> doesn't stop on errors by default, so I don't see
>> that avoiding a failed exit status buys you much.
> Can you elaborate on "not specified" a bit ?
The documentation just mentions that it will
continue to build dependent targets. NOCARE
was originally to allow the inexact header search
algorithm to work without erroring out, and
I suspect that no one really considered what
it should mean for non-leaf targets.
> Or, would it be possible to
> do specify it (and then adjust the implementation accordingly) ?
> What effect does NOCARE have for dependent targets ? Will they be
> skipped if a NOCARE target "fails" ?
They will not be skipped.
> I really do want to distinguish between build failures and test
> failures, and would prefer a real solution rather than a work around in
> the scripting layer.
The easy solution is to split up the build and test
so that they run separately. After updating the
regular build you can call UPDATE_NOW a second time
to run the tests, sending the output to a log file
instead of stdout.
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