Boost logo

Boost-Build :

Subject: [Boost-build] Global headers across projects
From: Alexander Sack (pisymbol_at_[hidden])
Date: 2008-10-14 15:26:48

Hello (again):

I have tried about 10 different ways to go this to no avail.

Here is my project format:



Each Jamfile defines a project which I will assume inherit
requirements and such from Jamroot (which defines the global project).

I have a bunch of headers I would like included in all builds and I
have a bunch of headers that need to be included in only liba and
libc, not libb.

To tackle the first one I tried:

alias common_headers : : : <include>h1_dir <include>h2_dir>;

However I can't use this in my Jamroot's project definition as a
requirement a la:

project myproj
          : requirements common_headers

I then tried to make common_headers a constant via:

constant common_headers : <include>h1_dir <include>h2_dir etc. etc. ;

and do

project myproj
         : requirements $(common_headers)

This semi-worked. It turned out that substitution would get screwed
up if I used another constant variable substitution in my properties,
a la my second bunch of headers. So I would define in Jamroot:

constant some_headers : <include>blah blah etc.

and then in

lib/liba/Jamfile I would have:

lib a : [ glob *.cc ] : <include>$(some_headers) ;

If I do it this way, it seems to get the variable substitution wrong.

What is the best way to do what I'm asking?


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