_realname=Vulkan-Shim-Loader
pkgbase=mingw-w64-jellyfin-vulkan-shim-loader
pkgname=("${MINGW_PACKAGE_PREFIX}-jellyfin-vulkan-shim-loader")
provides=("${MINGW_PACKAGE_PREFIX}-jellyfin-vulkan")
pkgver=1.4.355
pkgrel=1
epoch=1
pkgdesc='Vulkan shim loader (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clangarm64')
url="https://github.com/BtbN/Vulkan-Shim-Loader"
msys2_repository_url="https://github.com/BtbN/Vulkan-Shim-Loader"
license=('spdx:MIT')
depends=("${MINGW_PACKAGE_PREFIX}-cc-libs")
makedepends=("${MINGW_PACKAGE_PREFIX}-cc"
             "${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-ninja")
_commit="65b3936528cd92eb4ea3de485d03f858a3850484"
source=("${_realname}"::"git+https://github.com/BtbN/${_realname}.git#commit=${_commit}")
sha256sums=('SKIP')

export MINGW_TOOLCHAIN_PREFIX="${MINGW_PREFIX}"
export FF_MINGW_PREFIX="${MINGW_TOOLCHAIN_PREFIX}/ffbuild"

prepare() {
  cd "${srcdir}/${_realname}"
  git submodule update --init --recursive
  git -C "Vulkan-Headers" checkout -f "v${pkgver}"
}

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

  declare -a extra_config
  if check_option "debug" "n"; then
    extra_config+=("-DCMAKE_BUILD_TYPE=Release")
  else
    extra_config+=("-DCMAKE_BUILD_TYPE=Debug")
  fi

  MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
  ${MINGW_TOOLCHAIN_PREFIX}/bin/cmake.exe \
    -G "Ninja" \
    "${extra_config[@]}" \
    -DCMAKE_INSTALL_PREFIX=${FF_MINGW_PREFIX} \
    -DCMAKE_INSTALL_LIBDIR=lib \
    -DVULKAN_SHIM_IMPERSONATE=ON \
    ../${_realname}

  ${MINGW_TOOLCHAIN_PREFIX}/bin/cmake.exe --build ./
}

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