Boost logo

Boost :

From: Jody Hagins (jody-boost-011304_at_[hidden])
Date: 2005-01-22 10:07:19


On Sat, 22 Jan 2005 07:02:30 -0500
David Abrahams <dave_at_[hidden]> wrote:

> You have to tell us something about what you tried and what response
> you got.

OK. I built boost from the top, putting all the created object files
into a separate directory, using the --builddir option...

cd ${BOOST_ROOT}
bjam "-sTOOLS=gcc" "--builddir=/home/jody/boost-build"

This worked as advertised, putting all build object files and libraries
in that directory. However, I want to run tests from within a
subdirectory, because I do not want to run all of them. I am trying to
figure out how I should write my own Jamfile to accomodate this, so I
went to a few other lib test directories to see how they do it.
However, I can not seem to get even those to do what I want. For
example...

shandalle:jody> cd ${BOOST_ROOT}/libs/smart_ptr/test
shandalle:jody> bjam -sTOOLS=gcc --builddir=/home/jody/boost-build
...found 310 targets...
...updating 57 targets...
MkDir1 ../../../bin/boost/libs/smart_ptr
MkDir1 ../../../bin/boost/libs/smart_ptr/test
MkDir1 ../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test
MkDir1
../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc
MkDir1
../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debug
gcc-C++-action
../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debu
g/intrusive_ptr_test.o
gcc-Link-action
../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debu
g/intrusive_ptr_test
Chmod1
../../../bin/boost/libs/smart_ptr/test/intrusive_ptr_test.test/gcc/debu
g/intrusive_ptr_test
MkDir1 ../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test
MkDir1 ../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc
MkDir1
../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc/debug
gcc-C++-action
../../../bin/boost/libs/smart_ptr/test/get_deleter_test.test/gcc/debug/
get_deleter_test.o

and so on. As you can see, it ignores the --builddir command line
option. This is the source of my first confusion since the
documentation indicates that bjam will "find" the Jamrules for the
project (which it obviously does, or it would not know how to build
everything, I imagine).

I get similar behavior in other subdirectories. Since running in a
subdir is probably common, I imagine I am missing something,...

In addition, I will need to do something "special" in the test, and I
can ont find a good example in other test Jamfiles. For my test, I need
to create a shared library locally for testing, but I do not want it
installed anywhere. I simply need it for testing the dll code ability
to open/close/find symbols.

Again, thanks for indulging my obvious thick head in regard to this
issue.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk