# Maintainer: Nick Østergaard <oe.nick at gmail dot com>

_realname=oce
pkgbase=mingw-w64-${_realname}
pkgname=${MINGW_PACKAGE_PREFIX}-${_realname}
pkgver=0.18.3
pkgrel=7
pkgdesc="Open CASCADE Community Edition: patches/improvements/experiments contributed by users over the official Open CASCADE library."
url="https://github.com/tpaviot/oce"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
license=('LGPLv2.1')
conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}-git" "${MINGW_PACKAGE_PREFIX}-opencascade")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-cc")
depends=("${MINGW_PACKAGE_PREFIX}-freetype")
#depends=('intel-tbb' 'gl2ps' 'freeimage' 'tk')
source=(https://github.com/tpaviot/${_realname}/archive/OCE-${pkgver}.tar.gz
        unicode.patch
        clang.patch)
# 99_oce.sh 99_oce.conf)
install=oce-${MSYSTEM}.install
sha256sums=('c553d6a7bf52f790abc3b6bb7a1e91a65947e92a426bb1a88a11960c31f0966c'
            'bff7743d03258a532578c642a8140a0583fcff3bd05cc0a81a8bef00f2629c83'
            '5af82d7c9867b6e56282ad0d39c39cf24b0a9366d47d3a5b252734160d6ab9a2')

prepare() {
  cd "${srcdir}/oce-OCE-${pkgver}"
  patch -p3 -i "${srcdir}"/unicode.patch
  patch -p1 -i "${srcdir}"/clang.patch
}

build() {
  [[ -d "build-${MINGW_CHOST}" ]] && rm -rf "build-${MINGW_CHOST}"
  mkdir -p "${srcdir}/build-${MINGW_CHOST}" && cd "${srcdir}/build-${MINGW_CHOST}"

  #flags="$flags -DOCE_MULTITHREAD_LIBRARY:STRING=TBB"
  #flags="$flags -DOCE_WITH_GL2PS=ON"
  #flags="$flags -DOCE_WITH_FREEIMAGE=ON"
  #flags="$flags -DOCE_DRAW=ON"
  CXXFLAGS="$CXXFLAGS -Wno-unused-command-line-argument"

  MSYS2_ARG_CONV_EXCL="-DCMAKE_PREFIX_PATH=;-DCMAKE_INSTALL_PREFIX=;-DOCE_INSTALL_PREFIX=;-DOCE_INSTALL_CMAKE_DATA_DIR=;-DOCE_INSTALL_BIN_DIR=;-DOCE_INSTALL_LIB_DIR=" \
  ${MINGW_PREFIX}/bin/cmake.exe \
      -G"MSYS Makefiles" \
      -DCMAKE_PREFIX_PATH=${MINGW_PREFIX} \
      -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
      -DOCE_INSTALL_PREFIX=${MINGW_PREFIX} \
      -DOCE_INSTALL_BIN_DIR=bin \
      -DOCE_INSTALL_LIB_DIR=lib \
      -DOCE_INSTALL_CMAKE_DATA_DIR=${MINGW_PREFIX}/lib/oce \
      -DOCE_AUTOINSTALL_DEPENDENT_LIBS=OFF \
      -DCMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS=1 \
      -DCMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS=1 \
      -DCMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES=1 \
      -DCMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES=1 \
      -DCMAKE_C_RESPONSE_FILE_LINK_FLAG=@ \
      -DCMAKE_CXX_RESPONSE_FILE_LINK_FLAG=@ \
      ../oce-OCE-${pkgver}

  make
}

package() {
  cd build-${MINGW_CHOST}
  make DESTDIR="${pkgdir}" install
  install -Dm644 ${srcdir}/oce-OCE-${pkgver}/LICENSE_LGPL_21.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE_LGPL_21.txt"
  install -Dm644 ${srcdir}/oce-OCE-${pkgver}/OCCT_LGPL_EXCEPTION.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/OCCT_LGPL_EXCEPTION.txt"

  #install -m644 -D "${srcdir}/99_oce.conf" -t "${pkgdir}/etc/ld.so.conf.d"
  #install -m755 -D "${srcdir}/99_oce.sh" -t "${pkgdir}/etc/profile.d"
}

# vim:set ts=2 sw=2 et:
