
Hi Martin! On 5/18/07, Martin Wille <mw8329@yahoo.com.au> wrote:
Dean Michael Berris wrote:
[snpped my biased argument]
You can't say cross-platform builds like that aren't possible with gmake. It takes time to develop the harness, but that's true with any build system.
I wasn't implying that gmake builds are impossible. I was saying more to the effect that it's too hard to do that, especially if your platform is Windows -- because even gmake's "native" Windows port isn't the best, and sometimes cygwin and mingw aren't viable alternatives. That's why Boost.Build is very attractive for people like me, who just want to maintain one Jamfile which pretty much produces the desired output as much as possible in as much platforms as possible. Library writers love this because Boost.Build does it for the library writers "for free" without the required additional mental cartwheels that gmake requires developers to perform (like you've said, the harness takes time to develop -- time which is something no self respecting developer ever has ;) ). Though we'd like to take advantage of Boost.Build more, the problem like it's always been brought out and widely accepted is the documentation. Then there's also the issue of easy compartmentalization of the build instructions for your project. Something very hard to achieve with Make.
Note, I'm not suggesting a switch to make-based systems here. Boost.Build seems to be pretty well developed and a switch back to square one of a different basic build system would not earn us anything.
I guess the whole discussion with CMake has to do with the prospect of "not having to worry about writing Makefiles, VCS IDE project files, XCode project files, and <insert other build systems supported by CMake here>. So as far as CMake is concerned, I believe the argument is that it should be able to configure the build process for your build system of choice -- as long as CMake supports it. I for one do accept that this prospect is attractive, but assert that people like me still want to use Boost.Build, and would accept CMake if it really fits the bill for Boost but still aim to make Boost.Build the build system I would still want to use for my projects. FWIW. :-)
However, I think anything that can be done with bjam could be done with gmake, too.
I don't know about anything... Reading Jamfiles would be something gmake might not like to do. ;-) -- Dean Michael C. Berris http://cplusplus-soup.blogspot.com/ mikhailberis AT gmail DOT com +63 928 7291459