On 19/07/2017 08:24, Chris Glover wrote:
I use CMake for all of my personal and open source projects and it's great for that, but no company I have worked for has used CMake internally for anything. I'm sure that there are companies that do, but in my experience, every big C++ shop maintains their own custom build system so switching to CMake will add a new dependency that didn't previously exist. It's probably not a deal breaker, but it is a regression because every time I upgrade boost, I might need to upgrade CMake, and because we don't rely on system installed packages for anything I would need to upgrade CMake in our internal package manager before I can upgrade boost.
Possibly I'm in the minority (although I do work for a C++ company) but I can confirm that we don't use CMake for anything. (I have encountered it exactly once in an open source project [out of many others that don't use it] and found it confusing and frustrating to use, much more so than B2. But this is from the perspective of making it build existing code, not from the perspective of writing build scripts for it, so YMMV.) I can't speak to the technical merits of either (especially not writing build scripts) but I can say that I don't find the current incarnation of B2 hard to use, once you figure out the appropriate collection of flags to use (which is reasonably well documented, but as always could be better).
What's nice about this is that there are no dependencies -- everything is completely self contained, and I like that.
Agreed. I don't even know how you get cmake on Windows, but it seems like it would be annoying to maintain that separately. (And then deal with possible conflicts between certain Boost versions needing specific cmake versions.) At the end of the day, as a user of Boost, I don't really care what it uses as long as it Just Works™. But this announcement seems a little like putting the cart before the horse.