|
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:
Jamroot
lib/liba/Jamfile
lib/libb/Jamfile
lib/libc/Jamfile
bin/bina/Jamfile
etc.
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?
-aps
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