
on Sun Aug 05 2007, Janek Kozicki <janek_listy-AT-wp.pl> wrote:
David Abrahams said: (by the date of Sat, 04 Aug 2007 17:42:59 -0400)
Hello,
4. Cmake's built-in programming language is even more horrible, IMO,
Did you consider scons?
Yes, many times. It's not under consideration now mostly because nobody is offering to rewrite all of Boost's build instructions in terms of Scons and support the features we need in Scons, as Kitware has offered to do for Cmake.
It's a build system which uses python as a language. Therefore it's not horrible, and pretty flexible at the same time.
Yes, I'm familiar (though not intimately) with it. Steven Knight and I had some extensive and enjoyable discussions about build system design at PyCon several years ago. I'm not aware of much of Scons' recent evolution and features, though, and of course the user guide says "the SCons documentation isn't always kept up-to-date with the available features. In other words, there's a lot that SCons can do that isn't yet covered in this User's Guide." That makes it hard to evaluate.
Neither systems can trace #include dependencies through macros (e.g. #include SOME_MACRO(xyz)), which occasionally leads to inaccurate results from incremental testing. This is an important problem that should be fixed.
For instance writing that with python should be possible. I'm not good at python, but I can imagine writing this sort of thing.
I can't imagine that a C++ preprocessor written in python could be as efficient as one written in C++, and it's certainly a waste of programmer resources, since we have Wave. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com The Astoria Seminar ==> http://www.astoriaseminar.com