# Contributor: Bradley J Chambers <brad.chambers@gmail.com>
# Maintainer: Daniel Tobon <danieltobonco@gmail.com>
pkgname=pcl
pkgver=1.14.1
pkgrel=0
pkgdesc="Point Cloud Library (PCL)"
url="https://pointclouds.org"
arch="all !x86 !s390x" # tests fails on x86 and s390x
license="BSD-3-Clause"
depends_dev="
	boost-dev
	eigen-dev
	freeglut-dev
	hdf5-dev
	libpcap-dev
	libusb-dev
	lz4-dev
	mesa-dev
	qhull-dev
	qhull-static
	qt5-qtbase-dev
	vtk-dev
	"
makedepends="
	$depends_dev
	cmake
	samurai
	gtest-dev
	gtest-src
	gtest
	"
subpackages="$pkgname-dev $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://github.com/PointCloudLibrary/pcl/releases/download/pcl-$pkgver/source.tar.gz
	6503.patch::https://github.com/PointCloudLibrary/pcl/pull/6053.patch
	fix-broken-flags.patch
	"
builddir="$srcdir/pcl"

build() {
	case "$CARCH" in
	ppc64le|aarch64)
		local disable_segtests="-DBUILD_tests_segmentation=OFF"
		;;
	esac
	# Five tests are disabled below. This is in keeping with PCL's own
	# Appveyor configuration
	# (https://github.com/PointCloudLibrary/pcl/blob/master/.appveyor.yml),
	# and is due to a list of test failures that are documented in issues
	# #1702, #1719, #1921, and #2136.
	cmake -B build -G Ninja \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DCMAKE_BUILD_TYPE=Release \
		-DCMAKE_SKIP_INSTALL_RPATH=ON \
		-DCMAKE_CXX_STANDARD=17 \
		-DWITH_CUDA=OFF \
		-DWITH_DAVIDSDK=OFF \
		-DWITH_DSSDK=OFF \
		-DWITH_ENSENSO=OFF \
		-DWITH_FZAPI=OFF \
		-DWITH_LIBUSB=ON \
		-DWITH_OPENGL=ON \
		-DWITH_OPENNI2=OFF \
		-DWITH_OPENNI=OFF \
		-DWITH_PCAP=ON \
		-DWITH_PNG=ON \
		-DWITH_QHULL=ON \
		-DWITH_QT=ON \
		-DWITH_VTK=ON \
		-DGTEST_INCLUDE_DIR=/usr/include/gtest \
		-DGTEST_SRC_DIR=/usr/src/gtest \
		-DBUILD_apps=OFF \
		-DBUILD_examples=OFF \
		-DBUILD_simulation=ON \
		-DBUILD_global_tests=ON \
		-DBUILD_tests_common=OFF \
		-DBUILD_tests_features=OFF \
		-DBUILD_tests_filters=OFF \
		-DBUILD_tests_io=OFF \
		-DBUILD_tests_registration=OFF \
		-DBUILD_tools=ON \
		-DVTK_RENDERING_BACKEND=OpenGL2 \
		-DPCL_ENABLE_MARCHNATIVE=OFF \
		-DPCL_ENABLE_AVX=OFF \
		-DPCL_ENABLE_SSE=ON \
		-Wno-dev \
		$disable_segtests

	cmake --build build
}

dev() {
	default_dev
	amove usr/share
}

check() {
	ctest --test-dir build/test
}

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

sha512sums="
8711e44df563be1ac0aa277921953887f01278b81d011df4faefeed367538742e32cac2a9273b0bf654b5ff41c3d9ee3bc80e02ede9bb9e886326e1f9288702c  pcl-1.14.1.tar.gz
a460cfc998a3625d80a425561d53dffbdac80b675599cb401cfc22e4b5a1d2d1036c020a335acd91e711939fa626b902e7a02a20dd16a037d1dd2cc960c4994f  6503.patch
f866bf3c5eb8cf02b3531dff527f103b2f9c2bb454df6455b66e6d2f425e37d938f86efe7ba534d09a5f10a2830178e01853dc73769775d1faa9d049a5c5cc4b  fix-broken-flags.patch
"
