|
|
Line 26: |
Line 26: |
| # This is the Kickstart CMakeCache file for the Debian build of ITK. | | # This is the Kickstart CMakeCache file for the Debian build of ITK. |
| # Only those settings that are changed from the default are specified. | | # 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
| |
|
| |
| ==== Ebuild for Gentoo Linux ====
| |
|
| |
| For Gentoo Linux you can use the ebuild shown below, or alternatively download it [http://www.elreki.net/gentoo/itk-2.4.1.ebuild here]. This ebuild will pull in all required dependencies. Please notice that this ebuild does not build the Python/TCL wrapper support.
| |
|
| |
| # Copyright 1999-2006 Gentoo Foundation
| |
| # Distributed under the terms of the GNU General Public License v2
| |
| # $Header: $
| |
|
| |
| inherit distutils eutils flag-o-matic toolchain-funcs versionator
| |
|
| |
| DESCRIPTION="NLM Insight Segmentation and Registration Toolkit"
| |
| HOMEPAGE="http://www.itk.org"
| |
| SRC_URI="mirror://sourceforge/${PN}/InsightToolkit-${PV}.tar.gz"
| |
|
| |
| LICENSE="BSD"
| |
| KEYWORD="~x86"
| |
| SLOT="0"
| |
| KEYWORDS="~x86"
| |
| IUSE="patented"
| |
|
| |
| DEPEND="sys-libs/zlib
| |
| media-libs/jpeg
| |
| media-libs/libpng
| |
| media-libs/tiff"
| |
| RDEPEND="${RDEPEND}
| |
| >=dev-util/cmake-1.8"
| |
|
| |
| MY_PV=$(replace_all_version_separators '-')
| |
| S=${WORKDIR}/InsightToolkit-${MY_PV}
| |
|
| |
| src_compile() {
| |
|
| |
| # Out of source build
| |
| mkdir my_build && cd my_build
| |
|
| |
| # Install path prefix, prepended onto install directories
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DCMAKE_INSTALL_PREFIX:PATH=/usr"
| |
| # Build ITK with shared libraries
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DBUILD_SHARED_LIBS:BOOL=ON"
| |
| # Don't bother building the testing tree
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DBUILD_TESTING:BOOL=OFF"
| |
| # Don't build examples now (let the user later)
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DBUILD_EXAMPLES:BOOL=OFF"
| |
| # Give us an optimised release build
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DCMAKE_BUILD_TYPE:STRING=RELWITHDEBINFO"
| |
| # We do not want rpath enabled
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DCMAKE_SKIP_RPATH:BOOL=ON"
| |
| # Use the system libraries for these
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DITK_USE_SYSTEM_JPEG:BOOL=ON"
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DITK_USE_SYSTEM_PNG:BOOL=ON"
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DITK_USE_SYSTEM_TIFF:BOOL=ON"
| |
| CMAKE_VARIABLES="${CMAKE_VARIABLES} -DITK_USE_SYSTEM_ZLIB:BOOL=ON"
| |
|
| |
| use patented && CMAKE_VARIABLES="${CMAKE_VARIABLES} -DITK_USE_PATENTED:BOOL=ON"
| |
|
| |
| # Run CMake twice to configure properly with CMake 2.2.x
| |
| cmake ${CMAKE_VARIABLES} .. && cmake ${CMAKE_VARIABLES} .. \
| |
| || die "CMake configuration failed"
| |
|
| |
| emake || die "emake failed"
| |
| }
| |
|
| |
| src_install() {
| |
| # Return to our build directory
| |
| cd my_build
| |
|
| |
| # Do install
| |
| make DESTDIR=${D} install || die "make install failed"
| |
|
| |
| # Fix configuration file
| |
| sed -i -e "s:${D}:/:g" ${D}/usr/lib/${PN}/ITKConfig.cmake
| |
|
| |
| LDPATH="/usr/lib/InsightToolkit"
| |
| echo "LDPATH=${LDPATH}" > ${T}/40${PN}
| |
| echo "ITK_DATA_ROOT=/usr/share/${PN}/data" >> ${T}/40${PN}
| |
| doenvd ${T}/40${PN}
| |
| }
| |
|
| |
| pkg_postinst() {
| |
| if use patented; then
| |
| ewarn "Using patented code in ITK may require a license."
| |
| ewarn "For more information, please read:"
| |
| ewarn "http://www.vtk.org/Wiki/ITK_Patent_Bazaar"
| |
| fi
| |
| }
| |
|
| |
| === 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 [http://fink.sourceforge.net/ Fink] has been installed, with the following libraries in the default location under <tt>/sw</tt>:
| |
|
| |
| * 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 <tt>CMakeLists.txt</tt>) 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 <tt>CMakeCache.txt</tt> in the top level of the build directory, the settings defined therein will be used to override the default settings for the build.
| |
|
| |
| == Wrapping ITK ==
| |
|
| |
| ITK can be wrapped for several different languages such as Python, Tcl and Java.
| |
|
| |
| * [[ITK Java Wrapping|Java wrapping]] guide
| |
|
| |
| {{ITK/Template/Footer}}
| |