Summary: We propose making CMake our recommended build system for Inkscape 0.92 onwards and removing our Autotools support in 0.93. We will also consider moving to Waf in future if it seems beneficial. Any comments are warmly welcomed, particularly from Windows and OS X users. ----
Hi All,
At the Hackfest, we have discussed some options for improving our build systems and would like to invite your comments.
== Present situation == At the moment, we provide both Autotools (autoconf, automake etc) and CMake, but our main focus has been on Autotools. This is causing a significant maintenance challenge for the following reasons:
1. The syntax of the Autotools configuration files is rather complex and uses a mixture of the M4 Macro processing language, and bash scripting which is hard to understand/edit/debug 2. Numerous configuration files are needed to support both build systems. This adds a significant maintenance burden whenever e.g., files are added/removed or package version numbers change 3. The Autotools configuration is pretty slow, and parallelisation overheads are quite high 4. The CMake builds tend to be fairly neglected, and are not very actively maintained.
== Proposal == We would like to focus on a single build system. CMake is more widely understood than Autotools and it should be easier for more people to manage our conditional build configuration.
As a first step, we could focus on improving the CMake build and recommending this as our default option for the next Inkscape release (0.92). We could then remove our Autotools build system entirely from Inkscape 0.93 onwards.
Another potential option for future releases is the Waf system, which offers very good wildcard handling and potentially even simpler build configuration. However, I think it would make sense to stabilise our existing CMake build before we start moving to anything new
== Portability == We need to determine whether the CMake builds work well on OS X and Windows systems. Any comments from users of those systems would be greatly appreciated.
Best wishes,
Alex