AMDG On 07/21/2018 10:19 AM, Robert Ramey via Boost wrote:
The current instructions for doing boost development are approximately:
a) clone the boost super project from github. b) invoke b2 headers which does one of: 1) creates links in the boost root directory to individual projects 2) or copies boost directories from individual libraries into the boost root directory. depending on whether it is a windows system or other system.
That's not quite correct. b2 tries the following in order: - symlinks - junctions (windows only) - hard-links - copies Windows does support symlinks, depending on the version and permissions. As far as I am aware, junction+hardlink should work in Vista or later, so I'm somewhat surprised that you're seeing copies. Also, if you're only building with b2, (part of) `b2 headers` is run automatically whenever you build your tests, so running it explicitly is rarely needed.
Since I test for both windows and other systems, this is somewhat of a pain.
Why is it a pain?
In considering my options, I'm wondering if specifying all the boost library include directories in the CPLUS_INCLUDE_PATH environmental variable (gcc compilers) or INCLUDE (msvc).
a) Has this been considered before? b) Was it considered when the current system was setup? c) Is there an reason why it wouldn't be a good idea?
Do you really want to manage 100+ include directories? It's probably manageable for people who only use b2 to build, but it's a lot more convenient for outside users to have a single directory.
Anyone with information on this is free to chime in. Actually anyone is free to chime in.
In Christ, Steven Watanabe