Boost logo

Boost Interest :

Subject: Re: [Boost-cmake] Testing Setup
From: Michael Jackson (mike.jackson_at_[hidden])
Date: 2008-10-31 14:43:17

On Oct 31, 2008, at 1:30 PM, Beman Dawes wrote:

>> On Fri, Oct 31, 2008 at 12:14 PM, Mike Jackson <mike.jackson_at_[hidden]
>> > wrote:
>> I am working through the "testing" part of the build system at this
>> point and I have some questions about how the typical boost
>> developer actually runs the "tests".
>> The tests are compiled using the build/source tree. Is it probable
>> that boost developers actually install boost then try and compile
>> tests against the installed boost?
> Mostly I just work within an svn working copy, but once in a while
> do actually install boost and then build and run tests.
> My usual approach is to develop using the VC++ IDE, and when
> whatever I'm working on runs for that single compiler, I run a
> script that invokes bjam for the six compilers I test against before
> an actual svn commit.
> The IDE setup needs to be reasonably straightforward; I want to be
> able to specifiy a single Boost include directory, not one for each
> library.
> My guess is that usage pattern is common, but there are probably
> other usage patterns too.

Actually CMake will generate the Visual Studio projects for you as
part of its output. With the current modularization method you _will_
end up with an include path for each library that you compile against
(at least in the build/source tree, installed is different). The
visual studio solution that is generated will include _all_ the
libraries including each of their tests. When it gets to a point that
is workable on VS I invite you to give it a try and offer feedback as
to how to improve the setup. The nice part is that the VS solution
will have all the include paths set for you.

>> I am working through some dependency issues with compiling the
>> actual tests. With boost modularized there are lots of missing
>> includes. The current way I am going about adding them is probably
>> NOT maintainable. I need to do it like the actual build system does
>> it in that you have a "module.cmake" file that lists the
>> dependencies. I need to work through that system and extend it for
>> the testing cmake files.
> Is there a way to (via hard links, perhaps) make it appear both (1)
> the headers are in a single location in the root directory as is
> done currently, and (2) also in an include directory within each
> library's directory in the lib directory hierarchy? How do
> Subversion and CMake do that sort of thing?
> --Beman

CMake would probably just resolve the absolute path to the include
directory. I don't know enough of the intricacies of hard links, SVN,
Windows, Linux, OS X to be able to make a decision on that one way or

I have my own opinions on how I like projects setup (Header location,
source location and all that) but I will code up what ever the
majority of the boost community wants.

Mike Jackson mike.jackson_at_[hidden]

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