# Maintainer: Rafał Brzegowy <rafal.brzegowy@yahoo.com>

_realname=tfel
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=5.1.0
pkgrel=1
pkgdesc='MFront: a code generation tool dedicated to material knowledge (mingw-w64)'
arch=('any')
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
provides=("${MINGW_PACKAGE_PREFIX}-mfront")
depends=("${MINGW_PACKAGE_PREFIX}-gnuplot"
         $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-libgfortran") )
makedepends=("${MINGW_PACKAGE_PREFIX}-ninja"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-cc"
             $([[ ${MINGW_PACKAGE_PREFIX} == *-clang-* ]] || echo "${MINGW_PACKAGE_PREFIX}-gcc-fortran") )
license=('spdx:GPL-3.0-or-later')
url='https://tfel.sourceforge.io/'
msys2_repository_url='https://github.com/thelfer/tfel'
source=(${msys2_repository_url}/archive/TFEL-${pkgver}/${_realname}-TFEL-${pkgver}.tar.gz)
sha256sums=('1afd98200de332e97e86d109ce0e1aaa8f18cc6c6c81daec3218809509cdfad7')
noextract=("${_realname}-TFEL-${pkgver}.tar.gz")

prepare() {
  tar -xf "${_realname}-TFEL-${pkgver}.tar.gz" || true
}

build() {
  mkdir -p "${srcdir}/build-${MSYSTEM}" && cd "${srcdir}/build-${MSYSTEM}"

  declare -a extra_conf
  case ${MSYSTEM} in
    CLANG*)
      extra_conf+=("-Denable-fortran=OFF");;
    *)
      extra_conf+=("-Denable-fortran=ON");;
  esac

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
    ${MINGW_PREFIX}/bin/cmake \
      -GNinja \
      -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
      -DCMAKE_BUILD_TYPE=Release \
      -Denable-python=OFF \
      -Denable-python-bindings=OFF \
      -Denable-aster=ON \
      -Denable-abaqus=ON \
      -Denable-ansys=ON \
      -Denable-europlexus=ON \
      -Denable-zmat=ON \
      -Denable-cyrano=ON \
      -Denable-calculix=ON \
      -Denable-comsol=ON \
      -Denable-diana-fea=ON \
      -Denable-lsdyna=ON \
      -Denable-cxx-17=ON \
      -Denable-portable-build=ON \
      -Denable-reference-doc=OFF \
      ${extra_conf} \
      ../${_realname}-TFEL-${pkgver}

  ${MINGW_PREFIX}/bin/cmake --build .
}

package() {
  cd "${srcdir}/build-${MSYSTEM}"
  DESTDIR="${pkgdir}" cmake --build . --target install
  install -Dm644 "${srcdir}"/${_realname}-TFEL-${pkgver}/LICENCE-GNU-GPL "${pkgdir}"${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}

# vim: ts=2 sw=2 et:
