# Maintainer: Bruno Pagani <archange@archlinux.org>
# Maintainer: Jakub Klinkovský <lahwaacz at archlinux dot org>

pkgname=mgard
pkgver=1.6.0
pkgrel=3
pkgdesc="MultiGrid Adaptive Reduction of Data"
arch=(x86_64 aarch64)
url="https://github.com/CODARcode/MGARD"
license=(Apache-2.0)
depends=(
  abseil-cpp
  gcc-libs
  glibc
  protobuf libprotobuf.so
  zlib libz.so
  zstd libzstd.so
)
makedepends=(
  catch2
  cmake
  ninja
  python
  #tclap # 1.4 required but not packaged
)
source=(${url}/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz)
b2sums=('ca88641cfe2f1b1f72c8bbb35078925a96c426ff2918f7b564c0ad5c7bb49e68a145cec74cf269b3ee208ef5bd41f0c4ab7ce1376c5ff4a1f8ce7b2a268a1ca2')

build() {
  local cmake_options=(
    -B build
    -S ${pkgname^^}-${pkgver}
    -G Ninja
    -W no-dev
    -DCMAKE_BUILD_TYPE=None
    -DCMAKE_INSTALL_PREFIX=/usr
    -DMGARD_ENABLE_SERIAL=ON
    -DMGARD_ENABLE_OPENMP=ON
    -DMGARD_ENABLE_MDR=ON
    #-DMGARD_ENABLE_CLI=ON  requires tclap 1.4
    -DBUILD_TESTING=ON
  )
  cmake "${cmake_options[@]}"
  cmake --build build
}

check() {
  # Upstream is missing the integration with ctest
  OMP_NUM_THREADS=4 ./build/bin/tests
}

package() {
  DESTDIR="$pkgdir" cmake --install build
}
