Boost logo

Boost-Build :

From: Matthew Herrmann (matthew.herrmann_at_[hidden])
Date: 2006-01-22 23:03:47


Hi Johan,

Thanks for your suggestions.

> ------------------------------
>
> > * separate project for unit test : defeats cohesion
>
> Why does it defeat cohesion? I usually lay out my libraries something along
> the lines of this:
>
> <proj-root>
> ...
> src
> libs
> foo
> # common Jamfile for foo would go here
> foolib
> # Jamfile for foolib would go here
> include
> foo # if separate namespace
> src
> ...
> footest
> # Jamfile for footest would go here
> src
> ...

I agree this would still maintain the cohesion, but it requires 3 Jamfiles
instead of 1 for a simple project. We are developing with a lot of small
libraries, so the overhead in setting up these files would outweigh the
original complexity we were attempting to defeat.

Your other suggestions are fair and useful suggestions for projects with a few
libraries that are referred to intensively, but for a network of smaller
libraries, it creates a maintenace task to update that central list in the
Jamroot (this is the centralisation I was referring to). Also, you can't then
break out smaller hives of projects as standalone components, without
removing the references to the global constants.

For now, I've decided to just go with the slightly wordy project//target
syntax and wear the risk of users incorrectly referencing projects.

Best Regards,

Matthew Herrmann


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