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.