]> Creatis software - creaToolsTools.git/blob - Linux/scripts/ThirdParty-install-VTK.sh
#3450 vtk9itk5wx3-macos
[creaToolsTools.git] / Linux / scripts / ThirdParty-install-VTK.sh
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 #
7 #  This software is governed by the CeCILL-B license under French law and 
8 #  abiding by the rules of distribution of free software. You can  use, 
9 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
10 #  license as circulated by CEA, CNRS and INRIA at the following URL 
11 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
12 #  or in the file LICENSE.txt.
13 #
14 #  As a counterpart to the access to the source code and  rights to copy,
15 #  modify and redistribute granted by the license, users are provided only
16 #  with a limited warranty  and the software's author,  the holder of the
17 #  economic rights,  and the successive licensors  have only  limited
18 #  liability. 
19 #
20 #  The fact that you are presently reading this means that you have had
21 #  knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------  
23
24
25 #!/bin/bash
26
27  echo  "in ThirdParty-install-VTK.sh, source " $PWD/scripts/CreaTools-configure.sh
28  if [ ! -f $PWD/scripts/CreaTools-configure.sh ]
29  then 
30    echo
31    echo "..ERROR.."
32    echo "==================================================="
33    echo "REMEMBER !"
34    echo ""
35    echo "YOU NEED TO RUN 'Configure' (0) First !"
36    echo "==================================================="
37    echo
38    echo
39    exit 0
40 fi
41
42 source $PWD/scripts/CreaTools-configure.sh
43
44    echo "------"
45    echo $PWD/scripts/CreaTools-configure.sh
46    echo --generationdir--
47    echo $generationdir
48    echo --docgeneration--
49    echo $docgeneration
50    echo --installPrefix--
51    echo $installPrefix
52    echo --installPrefixThird--
53    echo $installPrefixThird
54    echo --buildType--
55    echo $buildType
56    echo --gdcmVersion--
57    echo $gdcmVersion
58 #   echo --sourcesFrom--
59 #   echo $sourcesFrom
60 #   echo --scriptDir--
61 #   echo $scriptDir
62 #   echo --start_point--
63 #   echo $start_point
64    echo "------"
65
66
67  
68
69 #EED 2017-03-24
70   source $PWD/scripts/LocalFunctions.sh
71   if [ `getDistrib` == "CentOS" ] && [ `getKernelVersion` < "2.6.34" ]
72   then
73         stdCompiler=c++98
74 #  else
75 #       stdCompiler=c++03
76   fi
77
78
79 scriptDir=$PWD
80 sourcesDir=$generationdir/thirdparty_sources
81 binDir=$generationdir/thirdparty_bin
82
83 if [ ! -e $generationdir ]
84 then
85    mkdir -p $generationdir
86    chown -R $loginUserName  $generationdir
87    chgrp -R $loginGroupName $generationdir
88
89 fi
90 if [ ! -e $sourcesDir ]
91 then
92    mkdir -p $sourcesDir
93    #was : (pb on MacOS?)
94    #chown -R $loginUserName:$loginGroupName $sourcesDir
95    chown -R $loginUserName  $sourcesDir
96    chgrp -R $loginGroupName $sourcesDir
97 fi
98
99 if [ ! -e $binDir ]
100 then
101    mkdir -p $binDir
102    chown -R $loginUserName  $binDir
103    chgrp -R $loginGroupName $binDir
104 fi
105
106   echo "we remove old stuff"
107   rm -rf $sourcesDir/VTK*
108   rm -rf $sourcesDir/vtk*
109   rm -rf $binDir/VTK*
110
111   cd $sourcesDir
112
113  echo "we download new stuff"
114 ##   if [ $OperatingSystem = "MacOS" ]
115 ##   then
116 ##  
117 ## # EED 2013-10-29
118 ## #  curl -O http://www.creatis.insa-lyon.fr/software/public/creatools/crea_ThirdParty_Libraries/source/VTK-5.6.1.patchCreatis.tar.gz
119 ## #  # MacOS, clever enough to understand it *has* to uncompress, doesn't understand tar -z :-(
120 ## #  tar -xvf VTK-5.6.1.patchCreatis.tar.gz
121 ## 
122 ##   curl -O http://www.vtk.org/files/release/5.10/vtk-5.10.1.zip
123 ##   unzip vtk-5.10.1.zip
124 ##   cd VTK5.10.1/Rendering
125 ##   curl -O http://www.creatis.insa-lyon.fr/software/public/creatools/crea_ThirdParty_Libraries/source/vtk-5.10.1.vtkXOpenGLRenderWindow.patch
126 ##   patch < vtk-5.10.1.vtkXOpenGLRenderWindow.patch
127 ##   # MacOS, clever enough to understand it *has* to uncompress, doesn't understand tar -z :-(
128 ##  else
129 ## 
130 ## ## EED 2013-10-29
131 ## ##  wget http://www.creatis.insa-lyon.fr/software/public/creatools/crea_ThirdParty_Libraries/source/VTK-5.6.1.patchCreatis.tar.gz
132 ## ##  tar -xzvf VTK-5.6.1.patchCreatis.tar.gz
133 ## 
134 ## ## EED 2016-12-28
135 ## ##  wget http://www.vtk.org/files/release/5.10/vtk-5.10.1.zip
136 ## ##  echo unzip vtk-5.10.1.zip
137 ## ##  pwd
138 ## ##  unzip vtk-5.10.1.zip
139 ## ##  cd VTK5.10.1/Rendering
140 ## ####EED19mai2015  wget http://www.creatis.insa-lyon.fr/software/public/creatools/crea_ThirdParty_Libraries/source/vtk-5.10.1.vtkXOpenGLRenderWindow.patch
141 ## ##  wget http://www.creatis.insa-lyon.fr/~davila/creatools_back_site/crea_ThirdParty_Libraries/source/vtk-5.10.1.vtkXOpenGLRenderWindow.patch
142 ## ##  patch < vtk-5.10.1.vtkXOpenGLRenderWindow.patch
143 ## ##  cd ../CMake
144 ## ##  wget http://www.creatis.insa-lyon.fr/~davila/creatools_back_site/crea_ThirdParty_Libraries/source/vtk-5.10.1.vtkCompilerExtras.cmake-PATCH
145 ## ##  patch < vtk-5.10.1.vtkCompilerExtras.cmake-PATCH 
146 ## 
147 ## ##   wget http://www.vtk.org/files/release/7.1/VTK-7.1.0.zip
148 ##      wget https://www.vtk.org/files/release/8.1/VTK-8.1.1.zip
149 ##      unzip VTK-8.1.1.zip
150 ## 
151 ##  fi
152
153 ##  wget https://www.vtk.org/files/release/8.2/VTK-8.2.0.zip
154 ##  unzip VTK-8.2.0.zip
155
156
157 cxxFlags='  '
158 if [ $TDx == "ON" ]
159 then
160     cxxFlags=$cxxFlags'-F/Library/Frameworks -DVTK_USE_TDX '
161 #    libname=VTK-8.2.0-Patch-TDx
162 else
163 #    libname=VTK-8.2.0-Patch
164 #    libname=VTK-9.2.0.rc1
165          libname=VTK-9.2.0.rc1-Patch-2022-08-04
166 fi
167
168 wget http://www.creatis.insa-lyon.fr/~davila/creatools_back_site/crea_ThirdParty_Libraries/source/$libname.zip
169 unzip $libname.zip
170
171
172
173
174
175
176
177 #if [ $buildType = "Debug" ]
178 #then
179 #   debug="ON"
180 #else
181 #   debug="OFF"
182 #fi
183
184 ### the following stupid test is used at debug time; Please don't remove!
185 ###if [ true = false ]
186 ##if [ true = true ]
187 ##then
188 ##  libname=VTK5.10.1
189 ##  dirInstall=$binDir/$libname-Bin
190 ####  export VTK_DIR=$installPrefixThird/lib/vtk-5.6/
191 ##  export VTK_DIR=$installPrefixThird/lib/vtk-5.10/
192 ##
193 ##  mkdir -p $dirInstall
194 ##  echo "we prepare directories dirInstall " $dirInstall  " VTK_DIR " $installPrefixThird/lib/vtk-5.10.1/
195 ##  cd $dirInstall
196 ##
197 ### See EED why we have to do this
198 ##  if [ $OperatingSystem = "MacOS" ]
199 ##  then
200 ##     cmake -D  CMAKE_CXX_COMPILER:FILE=/usr/bin/g++
201 ##  fi
202 ##  cmake -G"Unix Makefiles" -H$sourcesDir/$libname -B$dirInstall/
203 ##  ##cmake -G"CodeBlocks - Unix Makefiles" -H$sourcesDir/$libname -B$dirInstall/
204 ##  cmake -D CMAKE_BUILD_TYPE:STRING=$buildType -D CMAKE_INSTALL_PREFIX:PATH=$installPrefixThird CMakeCache.txt
205 ##
206 ##  if [ $OperatingSystem = "MacOS" ]
207 ##  then
208 ##    cmake -D BUILD_SHARE_LIBS:BOOL=ON -D VTK_USE_CARBON:BOOL=ON -D  VTK_USE_COCOA:BOOL=OFF CMakeCache.txt
209 ##    cmake -D  VTK_USE_TCL:BOOL=OFF                                                         CMakeCache.txt
210 ##    CMakeCache.txt
211 ##  fi
212 ##
213 ##  cmake -D BUILD_EXAMPLES:BOOL=OFF -D BUILD_TESTING:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON -D VTK_USE_QT:BOOL=ON CMakeCache.txt
214 ##  cmake -D CMAKE_CXX_FLAGS:STRING='-std=c++03' CMakeCache.txt
215 ##
216 ####EED 2016-12-22  make -j $corenumber
217 ##  make -j $corenumber
218 ##  make -j $corenumber install
219 ##  cd ..
220 ##fi
221
222
223 # the following stupid test is used at debug time; Please don't remove!
224 #if [ true = false ]
225 if [ true = true ]
226 then
227 ##  libnameB=vtk-8.2
228   libnameB=vtk-9.2
229   dirInstall=$binDir/$libname-Bin
230 ##  export VTK_DIR=$installPrefixThird/lib/vtk-5.6/
231   export VTK_DIR=$installPrefixThird/lib/cmake/$libnameB/
232
233   mkdir -p $dirInstall
234   echo "we prepare directories dirInstall " $dirInstall  " VTK_DIR " $installPrefixThird/lib/$libnameB/
235   cd $dirInstall
236
237 # See EED why we have to do this
238 #  if [ $OperatingSystem = "MacOS" ]
239 #  then
240 #     cmake -D  CMAKE_CXX_COMPILER:FILE=/usr/bin/g++
241 #  echo
242 #  fi
243
244   cmake -G"Unix Makefiles" -H$sourcesDir/$libname -B$dirInstall/
245   ##cmake -G"CodeBlocks - Unix Makefiles" -H$sourcesDir/$libname -B$dirInstall/
246   
247   cmake -D CMAKE_CXX_FLAGS:STRING="$cxxFlags"                                 CMakeCache.txt
248   cmake -D CMAKE_BUILD_TYPE:STRING=$buildType -D CMAKE_INSTALL_PREFIX:PATH=$installPrefixThird CMakeCache.txt
249
250   if [ $OperatingSystem = "MacOS" ]
251   then
252 #    cmake -D BUILD_SHARE_LIBS:BOOL=ON -D VTK_USE_CARBON:BOOL=OFF -D  VTK_USE_COCOA:BOOL=ON CMakeCache.txt
253 #    cmake -D  VTK_USE_TCL:BOOL=OFF                                                         CMakeCache.txt
254     CMakeCache.txt
255    echo
256   fi
257
258  # cmake -D VTK_Group_Views:BOOL=ON -D VTK_Group_Qt:BOOL=OFF   CMakeCache.txt
259  # cmake -D BUILD_EXAMPLES:BOOL=OFF -D BUILD_TESTING:BOOL=OFF -D BUILD_SHARED_LIBS:BOOL=ON CMakeCache.txt
260   cmake -D CMAKE_INSTALL_LIBDIR:STRING="lib" CMakeCache.txt
261
262   make -j $corenumber
263   make -j $corenumber install
264   cd ..
265
266 fi
267
268
269
270
271