# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 83159 2011-08-26 18:07:52Z ryandesign@macports.org $

PortSystem  1.0

name        vtk44
version     4.4.2

revision    0
set branch  [join [lrange [split ${version} .] 0 1] .]

categories  graphics
maintainers css
description 3D visualization toolkit
long_description    An open source, freely available software system  \
    for 3D computer graphics, image processing, and visualization     \
    used by thousands of researchers and developers around the world. \
    VTK consists of a C++ class library, and several interpreted      \
    interface layers including Tcl/Tk, Java, and Python. (This port   \
    does not currently provide wrappers for these languages.)

homepage        http://www.vtk.org/
master_sites    http://www.vtk.org/files/release/${branch}

distname          VTK-${version}
worksrcdir        VTK

checksums       md5 17a5006c4d7acca3e74d32e0e27f4739 \
                    sha1 9a68ecefa35f97a79fedd830c369f5b4225d1f55

platforms       darwin freebsd

depends_build   port:cmake

configure {
    system "cd ${worksrcpath} && cmake ${configure.args} ${worksrcpath};"
}

configure.args  \
    -DBUILD_SHARED_LIBS:BOOL=ON \
    -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
    -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
    -DVTK_USE_HYBRID:BOOL=ON \
    -DVTK_USE_CARBON:BOOL=OFF \
    -DVTK_USE_COCOA:BOOL=ON \
    -DCMAKE_SKIP_RPATH:BOOL=OFF \
    -DCMAKE_INSTALL_NAME_DIR:STRING=${prefix}/lib/${distname} \
    -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON

platform darwin {
    # These patches make the code work with gcc4.
    patchfiles \
        patch-vtk3DSImporter.cxx \
        patch-vtkAbstractMapper.cxx \
        patch-vtkAbstractMapper3D.cxx \
        patch-vtkAppendFilter.cxx \
        patch-vtkBMPReader.cxx \
        patch-vtkBooleanTexture.cxx \
        patch-vtkBranchExtentTranslator.cxx \
        patch-vtkCardinalSpline.cxx \
        patch-vtkCocoaGLView.h \
        patch-vtkCocoaGLView.mm \
        patch-vtkCocoaRenderWindow.mm \
        patch-vtkDecimate.cxx \
        patch-vtkOSXRenderingTclInit.c \
        patch-vtkTkWidgetsInit.cxx

    pre-build {
        reinplace "s;VTK_APPLE_SHARED_FLAGS_NEEDED 1;VTK_APPLE_SHARED_FLAGS_NEEDED 0;" ${worksrcpath}/CMakeLists.txt
    }
}

variant x11 description {build VTK with MacPorts X11} {
    depends_lib-append port:mesa port:Xft2 port:xorg-libXScrnSaver port:xorg-libXt
    configure.args-delete \
        -DVTK_USE_COCOA:BOOL=ON
    configure.args-append \
        -DVTK_USE_COCOA:BOOL=OFF \
        -DVTK_USE_X:BOOL=ON \
        -DOPENGL_INCLUDE_DIR:PATH=${prefix}/include \
        -DOPENGL_gl_LIBRARY:FILEPATH=${prefix}/lib/libGL.dylib \
        -DOPENGL_glu_LIBRARY:FILEPATH=${prefix}/lib/libGLU.dylib
}

