The developer behind Autovala, Sergio Costas, wrote into Phoronix this morning to explain his project. Costas explained, "The idea behind Autovala is that CMake is a very powerful tool, but writing its configuration files is boring and repetitive, so why don't let the computer to do it automatically? To do so, Autovala is divided in two parts. The main one generates the CMake files itself, starting from a descriptive configuration file. There, instead of putting things like 'install this file here, that file there...', you just define things like 'this is an icon, this is a manpage, this is a binary that uses these source files and these packages...', and Autovala automagically determines where to install them. To do so, it even examines the files itself, so, for example, icons, it will check its size and type to decide whether to put it in 'scalable', '16x16'... Or for manpages, it automatically converts them from any of the supported formats to groff."
Additionally, "the second part, that, in fact, runs before the main one, simplifies the process further, by actually checking the files currently available in the hard disk and generating the configuration file. To do so, the project must follow a precise folder hierarchy (/src for source files, /data/icons for icons, and so on). This hierarchy can also be automatically created with Autovala before starting the project. It even peeps inside source files to determine which packages are needed to compile them with Vala. This part can also be called as many times as the user need, after adding new files. It is possible to manually tweak the configuration file after being created by the automated generator, in order to fix incorrect assumptions made by it, like putting all the source files in a single binary instead of creating two binaries, one with one half and one with the other half, and so on. Of course, these changes remains after running again the automatic generator, so it is possible to add new files inside a folder after having tweaked the configuration file and just run Autovala again to add them to the configuration file, and everything should be added in the right way, taking into account the changes made by the user before."
The developer says Autovala should be flexible to work with about 95% of the Vala projects out in the wild and can be used for generating libraries and not only binaries. Right now only CMake is supported but Automake support could be added.
Those interested in more details on this open-source project can find it hosted on GitHub.