ITK/Configuring and Building
Configuring And Building
This page describes the various ways of configuring and building ITK in common configurations. Recommended configurations are incldued for:
- Linux
- Mac OS X
- Solaris
- AIX
- Windows
It is strongly recommended that you build ITK in a separate tree. This is described elsewhere (?).
CMake Configuration for Linux
This configuration is the one used to build the packages for Debian GNU/Linux, but should work for any distribution just fine. It assumes that you already have certain libraries installed (which will almost always be the case), specifically:
- libzlib
- libjpg
- libtiff
- libpng
The rpath option is disabled, as it is only really needed if you install the libraries into someplace other than a standard directory that is on your LD_LIBRARY_PATH.
You can either paste this into a CMakeCache.txt or change the settings manually by running ccmake.
# This is the Kickstart CMakeCache file for the Debian build of ITK. # Only those settings that are changed from the default are specified. // For some reason it defaults to c++ CMAKE_CXX_COMPILER:STRING=g++ // Don't build examples now (let the user later) BUILD_EXAMPLES:BOOL=OFF // Build ITK with shared libraries BUILD_SHARED_LIBS:BOOL=ON // Don't bother building the testing tree BUILD_TESTING:BOOL=OFF // Give us an optimised release build CMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO // Install path prefix, prepended onto install directories CMAKE_INSTALL_PREFIX:PATH=/usr // The code still uses the older #include <iostream.h> style CMAKE_CXX_FLAGS:STRING=-Wno-deprecated // We do not want rpath enabled CMAKE_SKIP_RPATH:BOOL=ON // We haven't packaged this (yet) ITK_DATA_ROOT:PATH=ITK_DATA_ROOT_NOTFOUND // Use the system libraries for these ITK_USE_SYSTEM_JPEG:BOOL=ON ITK_USE_SYSTEM_PNG:BOOL=ON ITK_USE_SYSTEM_TIFF:BOOL=ON ITK_USE_SYSTEM_ZLIB:BOOL=ON //Build cswig Python wrapper support ITK_CSWIG_PYTHON:BOOL=ON //Build cswig Tcl wrapper support ITK_CSWIG_TCL:BOOL=ON
CMake Configuration for Mac OS X
This configuration has been tested on Mac OS X Panther 10.3, with XCode 1.1 and 1.2. It presumes that Fink has been installed, with the following libraries in the default location under /sw:
- libjpeg
- libtiff
- libpng
- libzilb
//Name of build on the dashboard BUILDNAME:STRING=Darwin-g++ //Build source documentation using doxygen BUILD_DOXYGEN:BOOL=OFF //Build the Examples directory. BUILD_EXAMPLES:BOOL=OFF //Build ITK with shared libraries. BUILD_SHARED_LIBS:BOOL=ON //Build the testing tree. BUILD_TESTING:BOOL=OFF //Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. // CMAKE_BUILD_TYPE:STRING=RelWithDebInfo //C++ compiler CMAKE_CXX_COMPILER:STRING=g++ //Use the system's jpeg library. ITK_USE_SYSTEM_JPEG:BOOL=ON //Use the system's png library. ITK_USE_SYSTEM_PNG:BOOL=ON //Use the system's tiff library. ITK_USE_SYSTEM_TIFF:BOOL=ON //Use an outside build of VXL. ITK_USE_SYSTEM_VXL:BOOL=OFF //Use the system's zlib library. ITK_USE_SYSTEM_ZLIB:BOOL=ON //What is the path where the file jpeglib.h can be found JPEG_INCLUDE_DIR:PATH=/sw/include //Where can the jpeg library be found JPEG_LIBRARY:FILEPATH=/sw/lib/libjpeg.dylib //Where can the png library be found PNG_LIBRARY:FILEPATH=/sw/lib/libpng.dylib //What is the path where the file png.h can be found PNG_PNG_INCLUDE_DIR:PATH=/sw/include //What is the path where the file tiff.h can be found TIFF_INCLUDE_DIR:PATH=/sw/include //Where can the tiff library be found TIFF_LIBRARY:FILEPATH=/sw/lib/libtiff.dylib //What is the path where the file zlib.h can be found ZLIB_INCLUDE_DIR:PATH=/usr/include //Where can the z library be found ZLIB_LIBRARY:FILEPATH=/usr/lib/libz.dylib
CMake Configuration for Solaris
CMake Configuration for AIX
CMake Configuration for Windows
Using a predefined Configuration
CMake can be run interactively to configure a build, in which case all settings begin with system defaults (as determined by CMakeLists.txt) and the user customises them.
Alternatively, a predefined configuration (such as those shown above) can be provided, which will provide initial settings for the build (also known as priming). By creating a file called CMakeCache.txt in the top level of the build directory, the settings defined therein will be used to override the default settings for the build.