Boost logo

Boost :

Subject: Re: [boost] Build files locations, try 2
From: Johan Nilsson (r.johan.nilsson_at_[hidden])
Date: 2009-08-31 02:31:00


Vladimir Prus wrote:
> Some time ago, I have raised the concern that CMakeList.txt
> files violate directory structure requirements. See:
>
> http://thread.gmane.org/gmane.comp.lib.boost.devel/189496/
>
> Back then, the discussion did not lead anywhere, and no further
> progress was made for 2.5 months. So, let me try to phrase this
> a bit differently. Is it fine with everybody if I move Jamfiles
> out of 'build' folder of every library one level higher?

I guess I've really got no say on this one as a non-boost developer, but:

Keeping the build files in the build subdirectory helps in maintaining a
clean, understandable and maintainable directory structure. I've myself
implemented a directory structure similar (I don't have the "monolithic
include" directory) to Boost's in several projects with good results.

I also support some other build tools and IDEs using tool-specific subdirs
of the build directory itself, e.g. "<project>/build/msvc8", as I believe
some of the Boost libraries do as well (not officially supported, though).

Why not keep Jamfiles in the immediate "build" subdir as long as Boost.Build
is the "official" build system for Boost (which I hope it will remain), and
add support for other build systems in separate subdirs, e.g. "build/cmake".
I realize that some build tools and IDEs have a hard time keeping at least
one of their configuration files out of the project's (here, most commonly,
library's) root directory - Visual Studio (.sln files) and Komodo (.kpf
files) come to mind - but it is almost always doable.

What on earth would come next; having a "Makefile" in the library root
directory? Heaven forbid ;-)

Regards,
Johan Nilsson


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