|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2006-01-27 06:28:36
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:
>
> 1) Is is possible to tell SHELL not to capture output, and simply echo it
> to the console as it goes? For my specific situation the output could get
> really huge when many things have changed since last update, or the first
> time the scripts are run.
I don't know. Anyone?
> 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 ;
actions your_action
{
ruby whatever
}
exe hello : hello.cpp : <dependency>whatever ;
In this case, 'hello' won't be build if the 'ruby whatever' target fails.
In case that's no sufficient for your use case, please clarify what else is
needed.
- Volodya
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