I have made a guide covering it more or less and posted it in the Emuforums forum. I'll post it here too:
This is a guide for people who would like to build VBA-M from its development source code in Linux and use it either through the SDL or the GTK+ interfaces.
First of all, dependencies. As far as I know you'll need the following programs and libraries:
cmake subversion sdl libpng zlib sfml mesa cairo libxv gtkglext gtkglextmm gtkmm glibmm glademm
A minimum development environment is assumed (e.g. C/C++ compiler, the make
utility, ...). The ones marked in red indicate that development packages of them are needed as well (e.g. mesa-dev).
Now, once all of that is installed create a directory named VBA-M (for example) where ever you wish to build it. Open a terminal window and navigate to the directory you just created. Now follow this steps:
Get the source code, check out the trunk branch:
[user@machine VBA-M]# svn co
https://vbam.svn.sourceforge.net/svnroot/vbam/trunk.- Note the dot in the end of the last line, it's necessary too.
Generate the makefile:
[user@machine VBA-M]# cmake . -DCMAKE_INSTALL_PREFIX=/usr
Build and install VBA-M:
[user@machine VBA-M]# make && sudo make install
Run VBA-M:gvbam for the GTK+ interface and vbam for the SDL one.
NOTES:
When looking for the dependencies, some of them might be available in your distribution with "lib" prefixing them (e.g.: libgtkmm
instead of gtkmm) or not available at all (you'd need to get and build them yourself).In the second phase CMake may warn about things not found, if that's the case verify you have installed all the dependencies as well as their development packages. E.g.:gtkmm-dev or something like that.
In that phase too, you may specify a different dir for CMAKE_INSTALL_PREFIX, the one I posted should make VBA-M available for system-wide.
In the third phase, make install have to be called as root or with administrative privileges as it will write to /etc (unless you changed the directories through additional options). E.g.: I've put sudo there because it's common to have that installed and configured.
There are more options to be used when generating the build script: disabling one of the interfaces, using some assembly parts, ... This "walk-through" is kind of generic. If you wish to know more take a look at CMakeLists.txt.