The second file is the config file. More...
![]() |
The second file is the config file.
This is purely a data file, it contains only key/value pairs. (Actually it is a recursive hash, see Hash.pm. However, the build system doesn't need any of the nested structure, so the file is essentially flat key/value pairs).
A key value pair must be contained on a single line. The format is this:
key value
That is, a key and a value separated by whitespace. The key will be the first contiguous token found on the line. The value is everything else, with leading and trailing whitespace removed.
Common key/value pairs you should declare:
Source files are declared with the "source" key.
source myfile.cpp
Dependent packages are declared with the "dependency" key.
dependency [LIB]/somelib dependency [LIB]/some/other/lib
If you need to build MOC files (an annoying artifact of the QT library), use the "moc" key.
moc myfile.moc
There is an additional messiness with .moc files: you'll need to #include the .moc file in your .cpp file. And that means your .cpp file must know about the output object directory. See vgfx-widget or folium (in the folium project/repository) for examples.