|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2006-05-11 18:29:02
This is forwarded from boost-users
attached mail follows:
Hi all -
I'm trying out boost-build for the first time, and running into some
issues related to project dependencies. I've spent many hours looking
at boost-build documentation, and now I'm stuck.
My directory structure is laid out like this:
--------------------------------------------
base_dir
Jamroot
simp_envelopes
Jamfile
***source***
simp_envelopes
***include files***
my_lib
Jamfile
***source***
include
***include files***
test
Jamfile
tester.cc
---------------------------------------------
Basically, my_lib depends on simp_envelopes and test depends on my_lib.
In simp_envelopes/Jamfile I have this:
------------
project simplify-libs
: usage-requirements <include>simp_envelopes
;
lib simplify : [ glob *.cc ]
: <include>simp_envelopes ;
------------
which I believe should tell my_libs to include
simp_envelopes/simp_envelopes, if only my_libs can know that it should
depend on the simp_envelopes project.
My Jamroot looks like:
------------
use-project simplify-libs : simp_envelopes ;
use-project my-libs : my_libs ;
project my_app
: requirements <include>.. <include>../SGUL/include
: default-build debug
;
lib open-mesh
:
: <file>../OpenMesh/Core/Linux_gcc_max/libOpenMesh_Core.so
;
build-project simp_envelopes ;
build-project my_libs ;
build-project test ;
------------
My my_libs Jamfile:
------------
project my_libs
: requirements <include>../simp_envelopes
: usage-requirements <include>include
;
lib my_libs : [ glob *.cc ] /simplify-libs//simplify
: <include>include
;
-------------
I had to add the requirements <include>../simp_envelopes for my_libs
to find the include files for simp_envelopes... is there a way to get
my_libs to depend on simp_envelopes (or simplify-libs) and take care
of this automatically?
I have similar issues for the test app... I need to at a requirements
for the my_libs include directory.
Finally, I have defined a library name open-mesh to point to my
external library, but I don't know how to have my my_libs essentially
require linking against open-mesh. This is in fact even more
important because I don't currently have a way of making my
application build rule depend on open-mesh.
Any help is appreciated!
Brian
-- 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