Installing the latest version of VXL

Contents: [Installing CMake]   [Compiling with CMake]   [CMakeCache.txt]   [In-place builds]  

Get and install CMake

If you haven't already downloaded CMake then you will first need to get this first from the CMake website. VXL is designed to work with the latest release of CMake, as shown on the CMake website.

Compiling with CMake

Use $VXLSRC to refer to the vxl source tree. Create a different directory $VXLBIN, one per platform, and run CMake from within that directory.

With Visual Studio 6 and .NET

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.

With Unix (including Cygwin)

    cd $VXLBIN
and then
    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 built.


If you are using Cygwin and have installed the Cygwin OpenGL package, you probably want to build with this option

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 CMakeCache.txt

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.

Doing an in-place build

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.