1) 前準備
Cygwinのsetup.exeで必要なパッケージをインストールしておきます.
通常は,以下のものと,それらが依存するライブラリなどが必要でしょう.
"unzip" "cmake" "gcc-g++" "make" "patch" "libjasper-devel" "libjpeg-devel" "libpng-devel" "libtiff-devel" "libhdf5-devel" "libbz2-devel" "zlib-devel"
2) パッチ適用
VTK-8.1.0.tar.gzを入手し,
私のCygwin用パッチを適用します.
for example:
$ cd /tmp/ $ tar xvzf VTK-8.1.0.tar.gz $ gunzip VTK-8.1.0-cygwin-patch-20171225.txt.gz $ cd VTK-8.1.0/ $ patch -p1 < ../VTK-8.1.0-cygwin-patch-20171225.txt
3) ビルド,インストール
VTKをビルドする際,cmakeに対してVTK_IGNORE_CMAKE_CXX11_CHECKSを設定し,さらにg++に対して"-std=gnu++14"を設定する必要があります.これらの設定をしないと,cmakeがg++に"-std=c++11"オプションを設定しますが,そのオプション設定だとビルド時にエラーになります.
for example:
$ mkdir /tmp/vtk_build/ $ cd /tmp/vtk_build/Win32 OpenGLを使う場合は以下のようにVTK_USE_Xを無効化します:
$ cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ -D VTK_IGNORE_CMAKE_CXX11_CHECKS:BOOL=ON \ -D CMAKE_CXX_FLAGS:STRING="-std=gnu++14" \ -D BUILD_SHARED_LIBS:BOOL=OFF \ -D VTK_USE_X:BOOL=OFF \ -D OPENGL_INCLUDE_DIR:PATH=/usr/include/w32api/ \ -D OPENGL_gl_LIBRARY:PATH=/usr/lib/w32api/libopengl32.a \ -D OPENGL_glu_LIBRARY:PATH=/usr/lib/w32api/libglu32.a \ -D VTK_USE_SYSTEM_HDF5:BOOL=ON \ -D VTK_USE_SYSTEM_JPEG:BOOL=ON \ -D VTK_USE_SYSTEM_PNG:BOOL=ON \ -D VTK_USE_SYSTEM_TIFF:BOOL=ON \ -D VTK_USE_SYSTEM_ZLIB:BOOL=ON \ -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/vtk-8.1.0/ \ /tmp/VTK-8.1.0/ $ make -j ${NUMBER_OF_PROCESSORS} installあるいは,X11 OpenGLを使う場合は以下のようにVTK_USE_Xを有効化します:
$ cmake -D CMAKE_BUILD_TYPE:STRING=RELEASE \ -D VTK_IGNORE_CMAKE_CXX11_CHECKS:BOOL=ON \ -D CMAKE_CXX_FLAGS:STRING="-std=gnu++14" \ -D BUILD_SHARED_LIBS:BOOL=OFF \ -D VTK_USE_X:BOOL=ON \ -D VTK_USE_SYSTEM_HDF5:BOOL=ON \ -D VTK_USE_SYSTEM_JPEG:BOOL=ON \ -D VTK_USE_SYSTEM_PNG:BOOL=ON \ -D VTK_USE_SYSTEM_TIFF:BOOL=ON \ -D VTK_USE_SYSTEM_ZLIB:BOOL=ON \ -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/vtk-8.1.0/ \ /tmp/VTK-8.1.0/ $ make -j ${NUMBER_OF_PROCESSORS} install