
________________________________ From: Nathan Ridge <zeratul976@hotmail.com>
Do you think choosing Boost.Build as the build system for a project is still a sound choice, or am I better off choosing something else like CMake? [snip]
My requirements for the build system are the following: - straightforward support for multiple variants of the build (32-bit vs. 64-bit, debug vs. release, static vs. shared, etc.), including coexistence of multiple variants on the same machine [snip]
I used both CMake and Boost.Build for Boost.Locale project and I use CMake for most of my non-Boost-related C++ projects. While Boost.Build makes it easer to handle multi-variant releases in general I find CMake superior. I can point to several major problems with BB: 1. The most important problem of Boost.Build is lack of suitable documentation. While it is not hard to create a simple library or a set of libraries and tests, when it comes to something different than simple task, like dependencies configuration, libraries, options etc. it becomes very hard to work with, understand and find the documentation about. 2. Boost.Build was created for Boost. And boost has a tendency to be self-contained - i.e. all Boost needs is Boost. It is good for Boost but in real world it is frequent to deal with multiple systems, dependencies custom builds etc. And BB less suited for that. Not that it is not doable, but it is hard. Simple stuff like "find a library" or check for a header or some compiler feature (like try compile and see if it works) becomes very verbose. So basically... My opinion, use CMake it would make you much more productive. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/