Boost logo

Boost-Build :

Subject: Re: [Boost-build] some things I would like to know...
From: Christian Auby (christian_at_[hidden])
Date: 2010-02-15 09:13:17


a) If they are system libraries found outside your project you can add
them to boost/tools/build/v2/site-config.jam like this:

project
        : requirements
        
        <include>D:/dev/libs/boost
        ;

If they are project specific you can add them to Jamroot.jam at the root
of your project hierarchy the same way.

b) You can use conditionals to add additional sources, include paths or
libraries depending on e.g. the target OS:

exe demo
        :

        # Always compiled
        all.cpp

        :

        # Conditionally compiled depending on OS
        <target-os>:windows<source>win.cpp
        <target-os>:linux<source>linux.cpp
        ;

c) You can read env variables like this:

import os ;

echo [ os.environ SOME_VAR ] ;

Not entirely sure how you'd set a define based on that, but it might get
you started.

d) Already answered in previous reply

e) This has to be virtually possible to answer 100% but all I can say is
that Boost.Build is very flexible. I'd be surprised if there's something
major it can't do compared to gnu make.

Note: All of this was written from memory. Your mileage might vary.

regards,

Christian
        

On 2/15/2010 2:33 PM, Thomas Lehmann wrote:
> Hi!
>
> I'm on the way to switch from GNU make to boost build (bjam).
> Hard job! Not because of bjam but because of the conversion...
>
> My own projects are not the problem but there is a grown build system
> running on windows, solaris and linux.
>
> a) All header are installed globally -> how can I do this with bjam?
> b) There's a "force include" for the windows part making a "hidden"
> include for each impl. file. Actually I want to get rid of this but
> this means to modify many files. I have reading by internet that
> somebody
> has provided a <force-include> but I have not seen the implementation.
> Can somebody help?
> c) In a GNU makefile here I see that a define is set when an env. variable
> is set to a certain value. How can this be done by bjam?
> d) Let's say I do a release build with defaults (like optimized) but for
> one
> library I do not want to have it. How can this be done by bjam?
> e) GNU make is said to be able to execute nearly everything. Is this
> also possible for boost build? Other way round: Is there something with
> boost build what I can not do in comparison with make?
>
> So far...
> Thanks in advance!
>
> Thomas
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>


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