# Maintainer: Alexey Pavlov <alexpux@gmail.com>

_realname=ogre3d
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.11.5
pkgrel=1
pkgdesc="A cross-platform 3D game engine (mingw-w64)"
arch=('any')
url="http://www.ogre3d.org/"
license=("LGPL")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-doxygen"
             "${MINGW_PACKAGE_PREFIX}-pkg-config"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-swig")
depends=("${MINGW_PACKAGE_PREFIX}-boost"
         "${MINGW_PACKAGE_PREFIX}-cppunit"
         "${MINGW_PACKAGE_PREFIX}-FreeImage"
         "${MINGW_PACKAGE_PREFIX}-freetype"
         "${MINGW_PACKAGE_PREFIX}-glsl-optimizer"
         "${MINGW_PACKAGE_PREFIX}-hlsl2glsl"
         "${MINGW_PACKAGE_PREFIX}-intel-tbb"
         "${MINGW_PACKAGE_PREFIX}-openexr"
         "${MINGW_PACKAGE_PREFIX}-SDL2"
         "${MINGW_PACKAGE_PREFIX}-python2"
         "${MINGW_PACKAGE_PREFIX}-tinyxml"
         "${MINGW_PACKAGE_PREFIX}-winpthreads"
         "${MINGW_PACKAGE_PREFIX}-zlib"
         "${MINGW_PACKAGE_PREFIX}-zziplib")
options=('staticlibs' '!strip') # '!buildflags'
source=(${_realname}-${pkgver}.tar.gz::"https://github.com/OGRECave/ogre/archive/v${pkgver}.tar.gz"
        002-link-shared-freeimage.patch
        004-use-mingw-w64-directx.patch
        010-missing-include.patch
        012-add-link-library.patch
        014-custom-install.patch)
sha256sums=('fadcedf2e58c27f92b94342903c89dad06d0ee93998f5043994ac4ed45ab81da'
            '67966d6e0791c5804ed5cbec116594ebb72e9633118c31458dfa16181fdd01b2'
            'c7ca64dbd9a8f3f0271c12739807021a5c0782d254c4142c6e86746a96a44438'
            'd4e812fceb3dadc20c85857e3e624654cbc6bd4ebd20990fed2e5e84adfa9272'
            'fb4db83c9d42358a63bf4a11792cdea43482d69f09d7da9467782af32ba1bfb7'
            'ad53002848313b99afc765744323745bcbf9626bf118796a1a1eb8671e5efbac')

prepare() {
  cd "${srcdir}/ogre-${pkgver}"
  patch -p1 -i ${srcdir}/002-link-shared-freeimage.patch
  patch -p1 -i ${srcdir}/004-use-mingw-w64-directx.patch
  patch -p1 -i ${srcdir}/010-missing-include.patch
  patch -p1 -i ${srcdir}/012-add-link-library.patch
  patch -p1 -i ${srcdir}/014-custom-install.patch
}

build() {
  local -a extra_config
  if check_option "debug" "y"; then
    extra_config+=( -DCMAKE_BUILD_TYPE=Debug )
  else
    extra_config+=( -DCMAKE_BUILD_TYPE=Release )
  fi

  rm -rf ${srcdir}/build-${MINGW_CHOST}
  mkdir build-${MINGW_CHOST} && cd build-${MINGW_CHOST}

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" \
  ${MINGW_PREFIX}/bin/cmake.exe \
    -G"MSYS Makefiles" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    -DOGRE_DEPENDENCIES_DIR=${MINGW_PREFIX} \
    -DOGRE_INSTALL_TOOLS=ON \
    -DOGRE_COPY_DEPENDENCIES=OFF \
    -DOGRE_INSTALL_DEPENDENCIES=OFF \
    -DOGRE_BUILD_RENDERSYSTEM_D3D11=ON \
    -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=ON \
    -DOGRE_BUILD_COMPONENT_VOLUME=ON \
    -DOGRE_BUILD_COMPONENT_PAGING=ON \
    -DOGRE_BUILD_COMPONENT_TERRAIN=ON \
    -DOGRE_BUILD_COMPONENT_RTSHADERSYSTEM=ON \
    -DOGRE_BUILD_COMPONENT_PROPERTY=ON \
    -DOGRE_BUILD_COMPONENT_PYTHON=OFF \
    -DOGRE_BUILD_COMPONENT_CSHARP=OFF \
    -DOGRE_CONFIG_DOUBLE=OFF \
    -DOGRE_BUILD_COMPONENT_JAVA=OFF \
    -DOGRE_BUILD_SAMPLES=ON \
    -DOGRE_INSTALL_SAMPLES=ON \
    "${extra_config[@]}" \
    ../ogre-${pkgver}

    make
}

package() {
  cd "${srcdir}/build-${MINGW_CHOST}"
  make -j1 DESTDIR=${pkgdir} install

  install -Dm0644 ${srcdir}/ogre-${pkgver}/LICENSE ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
  mkdir -p ${pkgdir}${MINGW_PREFIX}/share/OGRE/Media/fonts
}
