Subject: Re: [boost] [ot] choosing a build system
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-05-09 12:23:24
on Wed May 09 2012, Francois Duranleau <xiao.bai.xiong-AT-gmail.com> wrote:
> On Tue, May 8, 2012 at 6:54 PM, Nathan Ridge <zeratul976_at_[hidden]> 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?
>> More generally, what build system would you recommend for a C++
>> 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
>> Â - general ease of use (for the library writer and library users)
>> Â - suitability for a C++ project
>> Â - cross-platform, FOSS
>> Any thoughts are appreciated.
> Maybe you can have a look at premake
> (http://industriousone.com/premake). Its works in a similar way to
> CMake, that is, it generates project files/makefiles for target
> platforms, but the nice thing is that it uses Lua as a language.
Wow, that looks like a really beautiful design. Maybe someday it would
make sense for Boost. However, as of now that project still looks way
less mature and less-well supported than CMake is, and that makes it
somewhat inappropriate for Boost or other "important" projects. I would
be cautious if I were you.
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk