|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-01-24 03:02:51
Hi Juergen,
> On Friday 21 January 2005 17:08, Vladimir Prus wrote:
> > Some time ago we've discussed how best to apply naming conversion to
> > target names, such as 'd' letters for debug builds. I've committed
> > some changes resulted from that discussion.
> >
> > Here is the summary of changes:
> >
> > The <tag> feature now must be present only once in build properties,
> > and its value must the have the form '@rule.name'. The mentioned rule
> > will be called to compute the name of each created virtual target
> > that has <tag> in properties.
> >
> > The rule should match this prototype:
> >
> > rule name ( name : type ? : property-set )
>
> Volodya, could you please add an example for this ?
> I admit I'm lost :-)
Oh, sorry. The rule can be written line this:
rule my-tag ( name : type ? : property-set )
{
if $(type) = EXE && [ $(property-set).get <variant> ] = debug
{
return [ virtual-target.apply-suffix $(name)_d : $(type)
: $(property-set) ] ;
}
}
If you add <tag>@mymodule.my-tag to properties, then all executable files will
get "_d" added in debug variant. The above rule returns something only for
EXE/debug combination, in all the other cases nothings is returned and
default name is used.
> > If there are any problems with my changes, let me know.
>
> Yes, it broke the Qt-toolset.
>
> To reproduce, please add
>
> stage dist : canvas : <location>. <hardcode-dll-paths>true ;
>
> to examples/qt/jamfile.
Reproduces for me. Fix is not committed, thanks for spotting.
- 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