VTK 8.1.0 on Cygwin 2.9.0 environment

>> English page

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