Boost logo

Boost-Build :

From: Andrey Melnikov (melnikov_at_[hidden])
Date: 2005-07-04 13:08:16


Vladimir Prus wrote:
> On Friday 01 July 2005 20:10, Andrey Melnikov wrote:
>
>>Hi
>>
>>I used to have "output" and "intermediate" directories (in terms of
>>msvc) for all projects in a solution grouped together
>>
>>How can I have similar folder layout with boost? I don't want boost to
>>put binaries inside of src/ like it does now.
>
>
> You can use 'build-dir' attribute on top-level Jamfile:
>
> project yours : build-dir "build" ;

This was enough for me. Flat structure like MSVC has is even unwanted,
because with MSVC I cannot have identically named C++ files in the
project. If I have a/b.cpp and b/b.cpp in the same project, I should
change obj name for b/b.cpp manually to avoid conflicts during building
in MSVC.

Can I use something like

project yours : build-dir ($Jamroot)"../build" ;

, just like

$(SolutionDir)../build/$(ProjectName) in VS?

> OTOH, it's not currently possible to use the "plain" target dir structure, or
> to separate .obj and .exe targets.
>
> The first issue can be solved by introducing "build-dir" rule that will be
> called in context of Jamfile to determine build dir for that project. Writing
> your own custom "build-dir" rule in top-level Jamfile will allow to use any
> build tree layout.

Separating source and derived objects is reasonable and it's actually
used by boost. It isn't just aestetic look. But for very custom layouts
I don't see practical uses.

> Separating .obj and .exe targets is harder. Basically, I never though about
> it, so have no idea what it will take. I need this to move around in my head
> for a while, or if you have any suggestions -- I'm all ears.

"Stage" directory will be enough. Is bbv2 staging described somewhere in
the docs?

For debugging, multiple components of a project have to be put
("staged") into the same folder. Single stage folder for all project
configurations is a bad idea because different configurations go to the
same dir.

What is the best way to put consistently configured outputs from
subprojects to the same dir? How can I implement "solution
configuration" MSVC feature which allows me to specify consistency rules?

Andrey

 


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