2013/9/20 Bryce Harrington <bryce@...961...>:
On Fri, Sep 20, 2013 at 06:17:41PM +0200, Krzysztof Kosiński wrote:
Autotools is what was used since the beginning. btool was added later, because Autotools requires MSYS on Windows (basically a thin POSIX emulation layer), and it seems the great wise coders who wrought the Windows port preferred to write their own build tool rather than use MSYS. CMake was intended to replace both of those, but it doesn't have important features which exist in Autotools and btool, and adding them back requires writing lots of code in a poorly designed and verbose scripting language.
Out of curiousity what was/is missing from cmake?
- Doesn't generate the "distribution directory" which allows testing on Windows - Doesn't seem to have any support whatsoever for i18n (compiling message catalogs, updating translation templates, and so on) - Many configuration tests unimplemented - Outdated and broken tarball generation - Installation code only provided for Unix - No support for unit tests
All of these were implemented in the Waf build system, and I also added some experimental features, such as separate debug symbol files for all platforms.
Might also want to think about if the build system is changed to make it more portable, also give consideration to other possible platforms that Inkscape isn't currently on but that someone might conceivably want to port to some day (e.g. mobile devices and whatnot.)
I tested the system on Windows and Linux, and the same build scripts could be used with a very limited amount of platform-specific code. I guess it would also work well on OS X. The only dependency is Python.
Regards, Krzysztof