# -*- 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 113513 2013-11-18 20:54:09Z raphael@macports.org $

PortSystem                      1.0
PortGroup                       qmake 1.0

# Please keep the libQGLViewer and libPyQGLViewer ports as similar as possible.

name                            libQGLViewer
version                         2.4.0
revision                        1
platforms                       darwin
maintainers                     raphael openmaintainer
license                         {GPL-2+ Commercial}
categories                      graphics
description                     A C++ library based on Qt that eases the creation of OpenGL \
                                3D viewers
homepage                        http://www.libqglviewer.com/
long_description                libQGLViewer is a C++ library based on Qt that eases the \
                                creation of OpenGL 3D viewers. It provides some of the typical \
                                3D viewer functionalities, such as the possibility to move the \
                                camera using the mouse, which lacks in most of the other APIs. \
                                Other features include mouse manipulated frames, interpolated \
                                keyFrames, object selection, stereo display, screenshot saving \
                                and much more. It can be used by OpenGL beginners as well as \
                                to create complex applications, being fully customizable and \
                                easy to extend.

conflicts                       libPyQGLViewer

master_sites                    ${homepage}src/

checksums                       rmd160  2283aefd96b8c20aa890899d19f869883fef612c \
                                sha256  6135b97502bde59486e2398a6f0cedff6042dfcfd0e03892a471e85fc1fa362a

patchfiles                      patch-QGLViewer.pro.diff \
                                patch-designerPlugin.pro.diff
# the terrain example does not compile on Lion; see #30886
platform darwin 11 {
    patchfiles-append           patch-contribs.pro.diff
}

post-patch {
    reinplace "s|@@QT_PLUGINS_DIR@@|${qt_plugins_dir}|g" ${worksrcpath}/designerPlugin/designerPlugin.pro

    system -W ${worksrcpath} "sh ${filespath}/archflags.sh [get_canonical_archflags]"
}

# prevent the examples from linking with an already installed version of libQGLViewer (#41382)
configure.cppflags-delete -I${prefix}/include
configure.ldflags-delete -L${prefix}/lib

# clear all arch-oriented flags since they mess up LDFLAGS in Makefiles (#41359)
configure.ld_archflags
configure.cc_archflags
configure.cxx_archflags
configure.universal_ldflags
configure.universal_cflags
configure.universal_cxxflags
configure.universal_cppflags
configure.march
configure.mtune

configure.pre_args-append       DOC_DIR=${prefix}/share/doc/${name}
configure.post_args-append      -after QMAKE_POST_LINK=\"\"

use_parallel_build              no

post-destroot {
    system -W ${worksrcpath}/examples "make clean"
    copy ${worksrcpath}/examples ${destroot}${applications_dir}/libQGLViewer\ Examples
    xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
    xinstall -m 644 -W ${worksrcpath} \
        CHANGELOG \
        GPL_EXCEPTION \
        LICENCE \
        README \
        ${destroot}${prefix}/share/doc/${name}
}

livecheck.type                  regex
livecheck.regex                 "Version (\\d+(?:\\.\\d+)*)"
