Use $VXLSRC to refer to the vxl source tree. Create a different directory $VXLBIN, one per platform, and run CMake from within that directory.
Run CMakeSetup and enter $VXLSRC and $VXLBIN into the appropriate text fields. This will generate $VXLBIN/allvxl.dsw or $VXLBIN/allvxl.sln. All VXL projects are included in this workspace and you should be able to build them in the normal way for Visual Studio.
cd $VXLBINand then
ccmake $VXLSRC (Curses UI)or
cmake -i $VXLSRC (command line)
This will generate the makefiles within $VXLBIN. You can now run "make" to build everything, or else go to a project of interest and run "make"--the dependent libraries should be automatically built.
cmake -i -DX11_INCLUDE_PATH:PATH=IGNORE $VXLSRC
This prevents CMake from using the X11 headers and libraries. The OpenGL package puts its header files in /usr/include/GL/ and the XFree86 package puts some header files in /usr/X11R6/include/GL/. If you configure to use header files from /usr/X11R6/include then the XFree86 GL/*.h files will be used instead of the OpenGL package GL/*.h files. These two sets of header files are not compatible. Using the wrong ones will lead to linking problems involving mismatched suffixes like @4, @8, and @12.
The build system is configured by setting "cache" values, which are specified in $VXLBIN/CMakeCache.txt. These values can be edited using a plain old editor or using the CMake GUI.
When running CMake for the first time, sensible default values are written into CMakeCache.txt, and you will not need to change any of these if everything compiles and runs fine. However, running CMake from a directory that already contains a CMakeCache.txt will use the values in there, so it is worth having a look at the settings in that file, e.g. for the location of JPEG, TIFF, etc.