-
Notifications
You must be signed in to change notification settings - Fork 0
Building ITK libraries
Dawid Koziński 2012-12-03
=============================================================================== This is step by step tutorial on how to build ITK 4 libraries
$ mkdir itk-4.1.0
$ cd itk-4.1.0
$ git clone http://itk.org/ITK.git
$ git checkout -b v4.1.0
$ git tag
$ git show v4.1.0
tag v4.1.0 Tagger: Luis Ibanez luis.ibanez@kitware.com Date: Fri Mar 2 11:02:52 2012 -0500
ITK 4.1.0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAABAgAGBQJPUO90AAoJEBRnWbEJ8i3glAkP/197JEk+II60Nq4+zTCGLsfz RogUaQT1MhU4xePCfesizVlV47Dz/WsLND/7R6q4H5E9DA4INYabjrgXVYwSbp/x UrvF0u2M0arADVM7f7f4fpz+Hn4NtXYO7IqK2/BgORoqBpbrW7ol9+yQgKgBB1sw buQ7kmpSEN4gQpDihqf9e6eR+X2Hj7hiqNzdbaVx3w0RsbVfA0iwLzdyGXfALotG 7cyfYleclkTex5CFYNIbn6HB3WXU3Cjv4stWbfE6zezdLApzX/F29q7XCZjJjuUB lW5TWh4WxQGxjA6r6dGjyXM2ImyJdnYZlUB+zkQITZsC3i6lrenLTsDhuW8BwStN NHB4e/UYYhlSFqNGH0sreOOszZdehsTb98ngLyOIl13LjrePKNnH6JAI2IpZJm4b uzAgK4rWbkWambrAqbhf/ZMmOQ+1PnhICErZIgLUBzHBNnaykLtyRZvgSwVOBhE/ 0WaCJIpH6F6zH9r2bIrA0E1DRv2fclrgO3dG34W20byz6SPpoVPqPEIlFIi+V+4/ wjMJ4kLYGV11yFJw5vhkOI4kUFfdBk1AVJ3BXFmYldoMfsEobdl0oX2K2HrIqdHv aNlHK4tOB1pNQrfKjembK/AcyUBhSoG7eckV0Xk8AOAfka7b6iydFM13/7NnOdQ3 BbkB1IZL2iYmS+g5hnM+ =xEVw -----END PGP SIGNATURE-----
commit 4af483dd16e960583f0c02633f594fd253844a61 Author: KWSys Robot kwrobot@kitware.com Date: Fri Mar 2 00:01:08 2012 -0500
...
$ git show v4.1.0
$ git reset --hard 4af483dd16e960583f0c02633f594fd253844a61
($ refactor_namespace.sh)
$ mkdir build
$ cd build
$ ccmake ..
Set the options as follows
<samp>BUILD_EXAMPLES OFF</samp><br>
<samp>BYUILD_TESTING OFF</samp><br>
and generate make file
$ make
http://osirixpluginwithitk320.wikispaces.com/ http://www.itk.org/CourseWare/Training/GettingStarted-I.pdf http://www.itk.org/Wiki/ITK/Examples/EdgesAndGradients/DerivativeImageFilter http://osirixpluginbasics.wordpress.com/2011/01/16/osirix-plugin-with-itk-framework/
"$1/Utilities/CMakeLists.txt.sed" test -s "$1/Utilities/CMakeLists.txt.sed" && (cmp -s "$1/Utilities/CMakeLists.txt.sed" "$1/Utilities/CMakeLists.txt" || mv -f "$1/Utilities/CMakeLists.txt.sed" "$1/Utilities/CMakeLists.txt") echo "done\n" echo "Modifying Code/IO/CMakeLists.txt, deavtivating test driver" cp "$1/Code/IO/CMakeLists.txt" "$1/Code/CMakeLists.txt.original" sed -e '/ADD_EXECUTABLE(itkTestDriver itkTestDriver.cxx)/,/CACHE INTERNAL \"itkTestDriver path to be used by subprojects\")/d' \ "$1/Code/IO/CMakeLists.txt" > "$1/Code/IO/CMakeLists.txt.sed" test -s "$1/Code/IO/CMakeLists.txt.sed" && (cmp -s "$1/Code/IO/CMakeLists.txt.sed" "$1/Code/IO/CMakeLists.txt" || mv -f "$1/Code/IO/CMakeLists.txt.sed" "$1/Code/IO/CMakeLists.txt") echo "done" #ITK v4.0 echo "Modifying Modules/ThirdParty/KWSys/src/CMakeLists.txt file, changing systems namespace" sed -e "s/set(KWSYS_NAMESPACE itksys)/set(KWSYS_NAMESPACE ${NEWNAME}sys)/g" "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt" > "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt.sed" test -s "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt.sed" && (cmp -s "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt.sed" "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt" || mv -f "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt.sed" "$1/Modules/ThirdParty/KWSys/src/CMakeLists.txt") echo "done\n" echo "Modifying Modules/Core/TestKernel/src/CMakeLists.txt, deavtivating test driver" cp "$1/Modules/Core/TestKernel/src/CMakeLists.txt" "$1/Modules/Core/TestKernel/src/CMakeLists.txt.original" sed -e "s/^/#/" "$1/Modules/Core/TestKernel/src/CMakeLists.txt" > "$1/Modules/Core/TestKernel/src/CMakeLists.txt.sed" test -s "$1/Modules/Core/TestKernel/src/CMakeLists.txt.sed" && (cmp -s "$1/Modules/Core/TestKernel/src/CMakeLists.txt.sed" "$1/Modules/Core/TestKernel/src/CMakeLists.txt" || mv -f "$1/Modules/Core/TestKernel/src/CMakeLists.txt.sed" "$1/Modules/Core/TestKernel/src/CMakeLists.txt") echo "done" FILELIST=`find $1 \( -name "*.h" -o -name "*.txx" -o -name "*.cxx" -o -name "*.hxx" \) -print` #echo "$FILELIST" for i in $FILELIST; do echo "Changing $i ..." sed -e "s/namespace[ \t*]itk/namespace $NEWNAME/g" -e "s/::itk/::$NEWNAME/g" -e "s/itk::/$NEWNAME::/g" -e "s/itksys/${NEWNAME}sys/g" -e "s/itkv3/$NEWNAMEv3/g" "$i" > "$i.sed" #cat "$i.sed" test -s "$i.sed" && (cmp -s "$i.sed" "$i" || mv -f "$i.sed" "$i") rm -f "$i.sed" echo "done\n" done />