Copy of osx-environment at 9993042d6
[windows-environment.git] / Scripts / vtk.sh
1 #!/bin/bash
2 set -e
3
4 tar xzf $CBS_ARCHIVES/vtk-5.8.0.tar.gz
5 patch -p0 < $CBS_PATCHES/vtk-2-findfreetype.patch
6 patch -p0 < $CBS_PATCHES/vtk-3-compile-tools.patch
7 if [ "$CBS_BITS" == "64" ]; then
8   cd VTK
9   patch -p1 < $CBS_PATCHES/vtk-msys-mingw64.patch
10   cd ..
11 fi
12
13 mkdir -p vtk-native-build
14 cd vtk-native-build
15 cmake ../VTK -DBUILD_TESTING=FALSE
16 make -j $CBS_PARALLEL CompileTools
17 cd ..
18
19 rm -rf vtk-build
20 mkdir -p vtk-build
21 cd vtk-build
22
23 cat > mingw.cmake <<EOF
24 # the name of the target operating system
25 SET(CMAKE_SYSTEM_NAME Windows)
26
27 # which compilers to use for C and C++
28 SET(CMAKE_C_COMPILER $CBS_CC)
29 SET(CMAKE_CXX_COMPILER $CBS_CXX)
30 SET(CMAKE_RC_COMPILER $CBS_WINDRES)
31
32 # here is the target environment located
33 SET(CMAKE_FIND_ROOT_PATH $CBS_MINGW_ROOT $CBS_ROOT)
34
35 # adjust the default behaviour of the FIND_XXX() commands:
36 # search headers and libraries in the target environment, search
37 # programs in the host environment
38 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
39 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
40 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
41 EOF
42
43 cmake ../VTK/ \
44       -C$CBS_PATCHES/vtk-TryRunResults.cmake \
45       -DCMAKE_TOOLCHAIN_FILE=$CBS_BUILD/vtk-build/mingw.cmake \
46       -DCMAKE_INSTALL_PREFIX=$CBS_ROOT \
47       -DBUILD_TESTING=FALSE \
48       -DBUILD_SHARED_LIBS=TRUE \
49       -DVTKCompileTools_DIR=$CBS_BUILD/vtk-native-build \
50       -DVTK_USE_SYSTEM_EXPAT=TRUE \
51       -DVTK_USE_SYSTEM_FREETYPE=TRUE \
52       -DVTK_USE_SYSTEM_JPEG=TRUE \
53       -DVTK_USE_SYSTEM_LIBXML2=TRUE \
54       -DVTK_USE_SYSTEM_PNG=TRUE \
55       -DVTK_USE_SYSTEM_TIFF=TRUE \
56       -DVTK_USE_SYSTEM_ZLIB=TRUE
57
58 make $CBS_PARALLEL
59 make install