Boost logo

Boost Users :

From: Brian Budge (brian.budge_at_[hidden])
Date: 2006-05-11 15:57:58


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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net