Rainer Deyke via Boost
Wait, build configuration directories can be shared between multiple repositories? The canonical
- 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
/ / 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.