On Jun 24, 2017, at 11:17 AM, Rene Rivera via Boost
wrote: On Sat, Jun 24, 2017 at 11:07 AM, Stefan Seefeld via Boost < boost@lists.boost.org> wrote:
So what's the reason you prefer (at least in that context) building boost as an integral part of another project, rather than referring to it as an external (pre-installed) dependency ?
Depends on the project... But generally because I need precise control over the compilation variant and want it to be uniform over all the external dependencies.
But isn’t that what a package manager does? The point of scenario #1 is that it enables a package manager or dependency tool to do this.
That precise control offers the advantage of isolated and predictable building for the project regardless of who builds it (other devs and CI).
Yea, but for open-source libraries and distros, they will never build the software exactly the same way. It can be built in a lot of different scenarios. This is why autotools came about to handle this. In fact, boost also follows scenario #1, as it doesn’t build zlib or bzip2 as part of its build, but rather tries to use a prebuilt binary.