# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
maintainer="Holger Jaekel <holger.jaekel@gmx.de>"
pkgname=tinygltf
pkgver=2.9.4
pkgrel=0
_pkgsover=6d
pkgdesc="Header only C++11 tiny glTF 2.0 library"
url="https://github.com/syoyo/tinygltf"
arch="all"
license="MIT"
depends_dev="nlohmann-json stb"
makedepends="cmake samurai $depends_dev"
checkdepends="catch2"
subpackages="$pkgname-dev"
source="tinygltf-$pkgver.tar.gz::https://github.com/syoyo/tinygltf/archive/refs/tags/v$pkgver.tar.gz
	0001-Fix-build-system.patch
	0002-Fix-third-party-includes.patch
	0003-Integrate-unit-tests-into-CMake-build.patch
	0004-Add-pkgconfig-file.patch
	0006-Big-endian-fix.patch"

prepare() {
	default_prepare
	rm json.hpp tests/catch.hpp
}

build() {
	if [ "$CBUILD" != "$CHOST" ]; then
		local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
	fi
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_INSTALL_LIBDIR=lib \
		-DBUILD_SHARED_LIBS=ON \
		-DCMAKE_BUILD_TYPE=None \
		-DBUILD_TESTING="$(want_check && echo TRUE || echo FALSE)" \
		-DTINYGLTF_VERSION=$pkgver \
		-DTINYGLTF_SOVERSION=$_pkgsover \
		-DTINYGLTF_BUILD_LOADER_EXAMPLE=OFF \
		-DTINYGLTF_BUILD_GL_EXAMPLES=OFF \
		-DTINYGLTF_BUILD_VALIDATOR_EXAMPLE=OFF \
		$crossopts
	cmake --build build
}

check() {
	mv $builddir/build/tests/tester $builddir/tests
	cd tests
	./tester
}

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

sha512sums="
45317d84c1cb008838d784ccc654ffa20f9f62e20c8cef0796839ce755f144b2f41ddbda77d7e89817536c3ce4e6860742e7b2f1abb492c359b9d876a1433154  tinygltf-2.9.4.tar.gz
b016632b6aca1517da3eaf562ebd1efc129e220256b7f1a063025841a7e2f1737afe5da62e0d71d76d0010660c844f5d52e66d73962ec93335b8de7a34ecd7db  0001-Fix-build-system.patch
5201544d2355e933d975089bf47e2f29a02c68caf721817c21b7613d255472827b6e1ec20721442434db68162cb3ff0a661127e4d634953fee0ad37a77be60f1  0002-Fix-third-party-includes.patch
ee4157249b63e3b3cf75b85017529d9b90988756e78dc0b113c424c02436a74197751397c81bb9707af9d1308552b22f7c1a36c9113bf4b012f1947fda7af553  0003-Integrate-unit-tests-into-CMake-build.patch
0de0eb5a3f37f3e72d262308a76b1c27ffd8ad1256ab21740a9caeb91582b3b95dbff26ce66310844f935ac96e3e8c8e08fc5f2bf030fb7b19e7e194c2ef37e3  0004-Add-pkgconfig-file.patch
aa212fb111e49a14e1bec76e67f6f6ab3bb7daefb28532eabd03b48d484b458e2df7a8e9e239e1f5a7c96e3ac84e576d66bdccb6f839bc47c97a40e2da516516  0006-Big-endian-fix.patch
"
