
AMDG On 05/08/2012 03:54 PM, Nathan Ridge wrote:
I am developing a new C++ library (unrelated to Boost) and I need to choose a build system for it.
I had originally planned to use Boost.Build, because I figured that it would be particularly suitable for a C++ library, and because I've come to associate Boost with high quality and excellence.
However, recently I've heard talk of Boost switching its own build system from Boost.Build to CMake (in fact, the currently active thread about modularization suggests that this change is imminent). My understanding is that Boost is the primary user of Boost.Build, and therefore I am concerned about what this switch means for the future of Boost.Build.
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?
Vladimir has stated that he intends to continue support for Boost.Build even if Boost itself switches away. At this point, switching to CMake is not a done deal, anyway.
More generally, what build system would you recommend for a C++ library?
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
You should be able to do this with any build system. Boost.Build supports this directly. For CMake, depending on the backend, you can use separate build directories for each variant.
- general ease of use (for the library writer and library users) - suitability for a C++ project - cross-platform, FOSS
In Christ, Steven Watanabe