Build systems are a pain, particularly if you have cross-platform builds to manage. Where I work we support both Mac and PC versions of our products and coordinating the builds is a challenge. I haven’t used Boost.Build myself, but I know that the Boost folks have had to deal with all sorts of platforms and C++ compilers. They use advanced features of the compiler and have had to work around a number of painful situations. If you are investigating a new build system, Boost.Build is worth a look.