<title>Installing current VXL</title>
<a href="http://vxl.sourceforge.net/" border=0><img ALT="VXL" src="../logo1-quant.gif" align=right border=0></a>
<h1>Installing the latest version of VXL</h1>
<a href="#cmake">[Installing CMake]</a>
<a href="#compile">[Compiling with CMake]</a>
<a href="#in-place">[In-place builds]</a>
<a name = "cmake">
<h1>Get and install CMake</h1></a>
If you haven't already downloaded CMake then you will first need to get this first from the <a href="http://www.cmake.org/">CMake website</a>.
VXL is designed to work with the latest release of CMake, as shown on the CMake website.
<a name = "compile">
<h3>Compiling with CMake</h3></a>
Use $VXLSRC to refer to the vxl source tree. Create a different directory $VXLBIN, one per platform,
and run CMake from within that directory.
<h2>With Visual Studio 6 and .NET</h2>
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.
<h4>With Unix (including Cygwin)</h4>
ccmake $VXLSRC (Curses UI)
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
If you are using Cygwin and have installed the Cygwin OpenGL package,
you probably want to build with this option
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.
<a name = "cmakecache">
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.
<a name = "in-place">
<h2>Doing an in-place build</h2>
If you don't make a new directory for $VXLBIN, but instead use
$VXLBIN=$VXLSRC, you will get an in-place build. The major
disadvantage is that you cannot have different build options, since
the build options are given in the CMakeCache.txt and there is only
one of those per build tree.