Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2005-09-20 11:43:18


I have no comments on this section; just posting it here for the
record and so that others can comment:

> Chapter 23. Tutorial
>
> Table of Contents
>
> Hello, world
> Properties
>
> Build Requests and Target Requirements
> Project Attributes
>
> Project Hierarchies
> Dependent Targets
> Static and shared libaries
> Conditions and alternatives
> Prebuilt targets
>
> Hello, world
>
> The simplest project that Boost.Build can construct is stored in
> example/hello/ directory. The project is described by a file called
> Jamroot that contains:
>
> exe hello : hello.cpp ;
>
> Even with this simple setup, you can do some interesting things. First
> of all, just invoking bjam will build the hello executable by compiling
> and linking hello.cpp. By default, debug variant is built. Now, to
> build the release variant of hello, invoke
>
> bjam release
>
> Note that debug and release variants are created in different
> directories, so you can switch between variants or even build multiple
> variants at once, without any unnecessary recompilation. Let's extend
> the example by adding another line to our project's Jamroot:
>
> exe hello2 : hello.cpp ;
>
> Now let us build both the debug and release variants of our project
> again:
>
> bjam debug release
>
> Note that two variants of hello2 are linked. Since we have already
> built both variants of hello, hello.cpp won't be recompiled; instead
> the existing object files will just be linked into the corresponding
> variants of hello2. Now let's remove all the built products:
>
> bjam --clean debug release
>
> It's also possible to build or clean specific targets. The following
> two commands, respectively, build or clean only the debug version of
> hello2.
>
> bjam hello2
> bjam --clean hello2

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com
 

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