From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2006-01-30 03:00:33
Vladimir Prus wrote:
> On Tuesday 24 January 2006 11:21, Johan Nilsson wrote:
>> # Update and build dependencies
>> project update ;
>> ECHO [ SHELL "ruby "$(update_args) ] ;
>> project build ;
>> ECHO [ SHELL "ruby "$(build_args) ] ;
> This won't work in two ways:
> 1. You can't define two projects in one Jamfile. At the very least,
> this was never intended to work and is likely to fail.
> 2. The ECHO statements have no relation to projects -- they are
> executed when Jamfiles are read, unlike targets -- which are declared
> in the current project.
>> Some related questions:
>> 2) Can I make other projects depend on the successful execution of
>> specific shell commands?
> If you want shell command to be executed during project building, and
> not during parsing, you need to use special targets. For example:
> notfile whatever : @your_action : hello ;
"@" ? And why is "hello" there?
> actions your_action
> ruby whatever
> exe hello : hello.cpp : <dependency>whatever ;
> In this case, 'hello' won't be build if the 'ruby whatever' target
During certain periods, such as when I'm using boost straight from the
latest cvs, I'd like it to be built regardless of whether "your_action"
completes successfully or not (there might be 'partial' success). IIRC there
was some "ignore" flag in classic Jam?
> In case that's no sufficient for your use case, please clarify what
> else is needed.
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