On Jul 23, 2017, at 5:23 PM, Niall Douglas via Boost
wrote: I would suggest that the CMake build for Boost should do things following the standard practices for CMake, and be as simple as possible.
I appreciate everything you've just said and the time you took to say it. But quite frankly, you're plain wrong:
1. The mangling pattern should be published with a formal regex for parsing it. It should never, ever change.
2. cmake lets external cmake override binary naming arbitrarily, so if you really want the binary to be called foo.so, you can go ahead and do that no problem because you know the mangling of the cmake target names, so you know which target sets to set properties for.
3. If you're working outside of cmake, cmake export writes config files which are of stable layout and which can be easily regex scanned for the name of the binary you need. Any bit of scripting can do this, even Windows batch. I've done this countless times, it's a really nice feature of cmake.
So everything you just said is all irrelevant. Meanwhile, there are *enormous* end user gains to mangling the binary name.
Then why does no linux distro do this? Even when they support compiling for multiple platforms. I think the standard way is to use separate directories instead of using encoded name, which is very much relevant and current practice.