# Maintainer: Aleksandr Serbin <aleksandr.serbin@gmail.com>

_realname=amqp-cpp
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=4.3.26
pkgrel=1
pkgdesc="C++ library for asynchronous non-blocking communication with RabbitMQ (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64' 'clang32')
url="https://github.com/CopernicaMarketingSoftware/AMQP-CPP"
license=('spdx:Apache-2.0')
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja")
source=("${_realname}-${pkgver}.tar.gz"::https://github.com/CopernicaMarketingSoftware/AMQP-CPP/archive/v${pkgver}.tar.gz
        001-cmake-install-config.patch
        002-fix-shared-linking.patch
        003-shared-lib-install.patch)
sha256sums=('2baaab702f3fd9cce40563dc1e23f433cceee7ec3553bd529a98b1d3d7f7911c'
            '236787a1151b097cf5584cbbdb9882c9a3507b87168a4671ea54690f3144ee33'
            '23def70fa83a02613945df1c15446f67c66e6999113b97416d01e7c89c062b1c'
            '54ef815fb5bda56812bbbdd98ec3108268e238f3eb2c9ccb74892d3059ce19ec')

prepare() {
  cd  ${_realname}-${pkgver}
  patch -p1 -i ${srcdir}/001-cmake-install-config.patch
  patch -p1 -i ${srcdir}/002-fix-shared-linking.patch
  patch -p1 -i ${srcdir}/003-shared-lib-install.patch
}

build() {
  msg "Build static library"
  rm -rf "${srcdir}/build-${MSYSTEM}-static"
  mkdir "${srcdir}/build-${MSYSTEM}-static" && cd "${srcdir}/build-${MSYSTEM}-static"

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_PREFIX}/bin/cmake.exe \
    -G"Ninja" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    -DAMQP-CPP_BUILD_SHARED=OFF \
    -DAMQP-CPP_LINUX_TCP=OFF \
    "../${_realname}-${pkgver}"

  cmake --build .

  msg "Build shared library"
  rm -rf "${srcdir}/build-${MSYSTEM}-shared"
  mkdir "${srcdir}/build-${MSYSTEM}-shared" && cd "${srcdir}/build-${MSYSTEM}-shared"

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_PREFIX}/bin/cmake.exe \
    -G"Ninja" \
    -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
    -DAMQP-CPP_BUILD_SHARED=ON \
    -DAMQP-CPP_LINUX_TCP=OFF \
    "../${_realname}-${pkgver}"

  cmake --build .
}

package(){
  cd "${srcdir}/build-${MSYSTEM}-static"
  DESTDIR=${pkgdir} cmake --install .

  cd "${srcdir}/build-${MSYSTEM}-shared"
  DESTDIR=${pkgdir} cmake --install .

  install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" \
    "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
}
