managing library dependencies with Boost.Build and C++
- by user931794
I want to develop a project which can be built on a bunch of different platforms.
The project code will be in C++, what's the the best way to manage libraries?
I plan on using bjam as the build system because I'm going to be depending on Boost and their unit testing framework as well.
The two dependent libraries are Boost itself and FLTK.
The possibilities that come to mind for library management are:
include build artifacts (binaries) and headers for all supported platforms in-tree
include complete source for all dependent libraries in-tree, and somehow script them as dependencies
A combination of 1 and 2, like node.js does with v8
inform the user that they need to build the libraries themselves and then have them on the PATH or in some special directory, like libcurl does with its dependencies
What is the best approach here?
The project will probably not grow beyond a few thousand lines over the next six months, but I want to make the right choice here so that I don't have to come back and switch everything around later.