]> Creatis software - cpPlugins.git/blob - third_party_installers/cpPlugins_Install_ITK.sh
d9ca4ff09d149c00ccb0db30774f23428dfbc13e
[cpPlugins.git] / third_party_installers / cpPlugins_Install_ITK.sh
1 #!/bin/bash
2
3 ## Some configuration variables
4 number_of_processes="-j4"
5
6 ## Locate cmake executable
7 cmake_exec="/usr/bin/cmake"
8 if [ ! -x $cmake_exec ]; then
9     cmake_exec="/usr/local/bin/cmake"
10 fi
11 if [ ! -x $cmake_exec ]; then
12     cmake_exec="${HOME}/local/bin/cmake"
13 fi
14 if [ ! -x $cmake_exec ]; then
15     echo "$0: modify this script to put the correct location of cmake."
16     exit 1
17 fi
18
19 ## Check input parameters and process inputs (if needed)
20 if [ "$#" -eq 1 ]; then
21     valid_extensions=("zip" "tar" "tar.gz" "tar.bz2")
22     actual_ext=""
23     for ext in ${valid_extensions[@]}; do
24         if [ `basename $1 $ext` != $1 ]; then
25             actual_ext=$ext
26         fi
27     done
28     if [ "x$actual_ext" == "x" ]; then
29         echo "$0: Invalid file type."
30         exit 1
31     fi
32     canonical_path=`readlink -e $1`
33     source_dir=`dirname $canonical_path`/`basename $1 .$actual_ext`
34     build_dir=`dirname $canonical_path`/`basename $1 .$actual_ext`-build
35     echo -n "Cleaning directories... "
36     rm -rf $source_dir
37     rm -rf $build_dir
38     echo "done."
39     echo -n "Creating directories... "
40     mkdir -p $source_dir
41     mkdir -p $build_dir
42     echo "done."
43     echo -n "Extracting sources... "
44     if [ "$actual_ext" == "zip" ]; then
45         echo unzip $canonical_path
46     elif [ "$actual_ext" == "tar" ]; then
47         tar xf $canonical_path -C $source_dir --strip-components=1
48     elif [ "$actual_ext" == "tar.gz" ]; then
49         tar xzf $canonical_path -C $source_dir --strip-components=1
50     elif [ "$actual_ext" == "tar.bz2" ]; then
51         tar xjf $canonical_path -C $source_dir --strip-components=1
52     else
53         echo "$0: Invalid file type."
54         exit 1
55     fi
56     echo "done!"
57 elif [ "$#" -eq 2 ]; then
58     source_dir=`dirname $1`
59     build_dir=`dirname $2`
60 else
61     echo "Usage: [itk_package] or [itk_source_dir itk_build_dir]" 
62 fi
63
64 echo "Given source dir : \"$source_dir\""
65 echo "Given build dir  : \"$build_dir\""
66
67 echo "Configuring sources... "
68 cd $build_dir
69 $cmake_exec \
70     -DCMAKE_CXX_FLAGS:STRING=-std=c++11 \
71     -DBUILD_DOCUMENTATION:BOOL=OFF \
72     -DBUILD_EXAMPLES:BOOL=OFF \
73     -DBUILD_SHARED_LIBS:BOOL=ON \
74     -DBUILD_TESTING:BOOL=OFF \
75     -DCMAKE_BUILD_TYPE:STRING=MinSizeRel \
76     -DModule_ITKReview:BOOL=ON \
77     -DModule_ITKVtkGlue:BOOL=OFF \
78     -DCMAKE_INSTALL_PREFIX:PATH=${HOME}/local \
79     ${source_dir}
80 echo "Configuring sources... done."
81
82 echo "Compiling sources..."
83 cd $build_dir
84 make $number_of_processes
85 echo "Compiling sources... done."
86
87 echo "Installing package..."
88 cd $build_dir
89 make -j install
90 echo "Installing package... done."
91
92 ## eof - $RCSfile$