Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-11-22 18:46:35


Q: Given a property set $(ps), how do I remove a property if I don't
know it's value.

e.g.

    local newps = property-set.remove "<pch-header>" : $(ps) ;

Background...

in my PCH generator I have:

     rule run ( project name ? : property-set : sources * )
     {
         local r =
           [ generator.run $(project) $(name) :
             [
               property-set.create
                 <pch-source>$(sources[2]) # mypch.cpp
                 [ $(property-set).raw ]
             ] : $(sources)
           ] ;

         return
           [ property-set.create
               <pch-header>$(sources[1]) # mypch.h[pp]
               <pch-file>$(r[2]) # mypch.pch
           ] $(r) ;
     }

to pass in the various PCH files to be used. The problem is, if I have

    lib a : mypch1 ... ;
    lib b : mypch2 a ... ;

b inherits both mypch1 and mypch2, so I want to strip <pch-*> properties
from the property set for b before adding the b specific ones.

- Reece


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