
On May 4, 2007, at 1:24 PM, Eric Niebler wrote:
With CMake, we could deliver makefiles and vc project files, so people can use their own build environments instead of having to learn ours. I think this would remove a barrier to Boost's adoption. This article describes the experience of the KDE team switching to CMake:
http://dot.kde.org/1172083974/
Caveat: I haven't actually used CMake. I'd need to investigate it.
It's a grand system. A long time ago (about 4 years, I think) in a land far away (New York), Brad King and I managed to get Boost building with CMake. It was actually quite trivial at the time, and CMake has improved significantly since then. It helped that Brad was (and still is) one of the CMake developers. In addition to building and installing Boost, we had nightly regression tests running using CMake [1] and DART [2], hosted at Kitware. In many ways, the regression testing system we had running back then was more advanced even than what we have today with BBv2, and they're still actively improving CMake and DART. BBv1/BBv2 and our regression-testing infrastructure is quite good for the volunteer effort that's gone into it, but CMake and DART have had the benefit of full-time, funded developers working on them.
FWIW, quickbook is merely a front end for existing external tools (docbook, doxygen, fop). Nobody actually has to use quickbook -- they could program directly to these lower level tools, and BBv2 supports that. But the flakiness of these tools, and the length of the toolchain, has been a constant source of trouble for us.
Yeah, it's an interesting case... we went with the "standard" documentation tools (DocBook with XSL, Doxygen), and the tool chain we needed to build to integrate those tools is, well, horrendous. It's impressive that BBv2 handles that tool chain so well. The question, as always is, if we "buy" into a different system--- say, CMake---will we end up saving ourselves and our users more time overall? I suspect that with CMake and DART, the answer is "yes". However, like Eric, I just don't have the time to make this happen... and I'm a little reluctant given my previous failed attempt. - Doug [1] http://www.cmake.org/HTML/Index.html [2] http://public.kitware.com/Dart/HTML/Index.shtml