Boost logo

Boost :

From: Boris Kolpackov (boris_at_[hidden])
Date: 2024-04-12 11:20:56


Rainer Deyke via Boost <boost_at_[hidden]> writes:

> Wait, build configuration directories can be shared between multiple
> repositories? The canonical <project_name>-<configuration_name> directory
> names led me to believe that each configuration build directory is tied to
> both a specific project and a specific configuration.

Yes, that's the sensible default for the simple cases but which you can
change if you know ahead of time you will (likely) be working on several
repositories at once. For my own work I usually have the builds/
subdirectory next to the repositories I am working on and inside I have a
bunch of build configuration directories like builds/gcc13/ and
builds/clang18/, etc.

> Of course, it's somewhat common for me to have multiple checkouts of the
> same project side-by-side, and it would not be safe for them to share build
> directories.

They cannot share it (you cannot have the same project name initialized
multiple times in the same build configuration, naturally) but you can
switch from one checkout to another in the same configuration with
relative ease. This becomes especially handy if you have a large number
of dependencies. (Though we also have the notion of linked configuration
which can be used to address this issue in another way).

> Yes, that's what I was alluding to in an earlier post about a
> <project_name>/<project_name>/<project_name> directory structure.
> It works, it's just hard to keep all those same-named directories
> straight.

Yes, that's true. The header inclusion scheme like "boost/foo/foo.hpp"
is forcing us into these deeply nested and repetitive hierarchies. But
we should be able to do better with modules.


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