On Thu, Apr 30, 2020 at 2:34 AM David Turner <da...@freetype.org> wrote: > > Starting a thread here to discuss potential build system improvements for > FreeType. > > The current FreeType 2 build system has many flaws. To its credit, it was > designed in a very different time, when things like CMake / Meson / Ninja/ > Maven / GN / Bazel didn't even exist, when Autotools was considered the best > system to configure your build (ah!), and GNU Make 3.81 was considered new > and bleeding edge, and didn't necessarily exist for all platforms. I'm not > even sure pkg-config was available on all Linux distros until quite a long > time. As I said ... very different times. > > Despite that, it was also designed to make FreeType buildable on a maximum > amount of systems, and I attribute part of its success to that specific > feature, especially in the embedded world. While we probably no longer care > about developers using DOS and OS/2 systems to build the library, I would > really appreciate if any replacement could continue in this direction. > > I think it would also be acceptable if the build system used to develop > FreeType itself, might be different than the one used by other developers > that simply want to use it in their own projects. For example something that > can build and run tests easily with sanitizers, fuzzing, remote bots and > other goodies, or can integrate well with a continuous integration system. > While at the same time, being able to generate simple Makefiles / CMakefiles > / BUILD / BUILD.gn / whatever corresponding to a specific configuration of > the library (which is what 95% of developers using the library need). > > I have experience with CMake (I find it a vast improvement over auto-tools > for package / feature detection, but a hot mess for about anything else), > GN/Ninja (very powerful, but essentially requires too much dependencies to > get the most out of it) and Bazel (can be hard to get into, very powerful, > but requirements are a bit crazy at the moment). I'm curious about Meson.
i prefer meson compared to cmake because : * more readable syntax (the main point for me) * meson honors CFLAGS/LDFLAGS * cross compilation is simpler regards Vincent Torri