Boost logo

Boost-Build :

From: Olivier Smeesters (olivier.smeesters_at_[hidden])
Date: 2006-10-09 10:46:36


I'm currently working on a project that is mixing C++, PHP, HTML and JS.
Boost-Build is really great for managing the build of the C++ code. Now
the question arises: how can I assemble the pieces of the Web
application with it ?

On one hand, I have my own code in one single directory. (It could have
been divided between html, scripts, php, css but I've been too lazy
until now for that :) )

On the other hand, I'm using javascript libraries (YUI and JPGraph).
Both are installed in their own directory. Both have one source
directory per module, sometimes with a subdirectory.

When assembling the web app, I must keep the directory structure. Also,
I want to keep the external libraries in a subdirectory of the web app.

Currently, I created a Jamfile in the external library root directory to
describe it.
For YUI, it goes like this (partial copy) :
| project . ;
| alias menu_assets : [ glob build/menu/assets/* ] : <location>menu/assets ;
| alias menu : [ glob build/menu/*.js ] menu_assets : <location>menu ;
| alias yahoo : [ glob build/yahoo/*.js ] : <location>yahoo ;

My application is defined like this:
| project . ;
| alias www : [ glob src/* ] ../yui//menu ../yui//yahoo ;

Then, in the Jamroot, I've put instructions to assemble the application:
| install release/www : acm_gui//www : <location>release/www ;

The problem is that "install" insists on flattening the tree...

How to make a tree-structure-aware install ?



Olivier Smeesters
Embedded Software Engineer
Newtec (LLN Office)
Avenue Einstein, 2A
B-1348 Louvain-la-Neuve
Tel: +32 (0)10 45.31.06
Fax: +32 (0)10 84.32.54

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at