Autovala: Auto-Generating CMake Files For Vala Code

Written by Michael Larabel in Free Software on 9 February 2014 at 10:41 AM EST. 7 Comments
FREE SOFTWARE
For those tired of manually making CMake files for your software's build system, Autovala is a new project developed by a Phoronix reader that seeks to automate the process of generating CMake scripts.

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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week