1SUMMARY="Libs for the efficient manipulation of volumetric data"
2DESCRIPTION="The OpenVDB library comprises a hierarchical data structure and \
3a suite of tools for the efficient manipulation of sparse, possibly \
4time-varying, volumetric data discretized on a three-dimensional grid."
5HOMEPAGE="https://www.openvdb.org/"
6COPYRIGHT="2012-2019 DreamWorks Animation LLC"
7LICENSE="MPL v2.0"
8REVISION="2"
9SOURCE_URI="https://github.com/AcademySoftwareFoundation/openvdb/archive/v$portVersion.tar.gz"
10CHECKSUM_SHA256="0c3588c1ca6e647610738654ec2c6aaf41a203fd797f609fbeab1c9f7c3dc116"
11
12ARCHITECTURES="all !x86_gcc2"
13SECONDARY_ARCHITECTURES="x86"
14
15commandBinDir=$binDir
16commandSuffix=$secondaryArchSuffix
17if [ "$targetArchitecture" = x86_gcc2 ]; then
18	commandSuffix=
19	commandBinDir=$prefix/bin
20fi
21
22libVersion="$portVersion"
23libVersionCompat="$libVersion compat >= ${libVersion%.*}"
24
25PROVIDES="
26	openvdb$secondaryArchSuffix = $portVersion
27	lib:libopenvdb$secondaryArchSuffix = $libVersionCompat
28	"
29REQUIRES="
30	haiku$secondaryArchSuffix
31	lib:libblosc$secondaryArchSuffix
32	lib:libboost_iostreams$secondaryArchSuffix
33	lib:libboost_system$secondaryArchSuffix
34	lib:libboost_thread$secondaryArchSuffix
35	lib:libcppunit$secondaryArchSuffix
36	lib:libHalf_2_4$secondaryArchSuffix
37	lib:libtbb$secondaryArchSuffix
38	lib:libz$secondaryArchSuffix
39	"
40
41PROVIDES_tools="
42	openvdb${secondaryArchSuffix}_tools = $portVersion
43	cmd:vdb_print$commandSuffix
44	"
45REQUIRES_tools="
46	haiku$secondaryArchSuffix
47	lib:libblosc$secondaryArchSuffix
48	lib:libboost_iostreams$secondaryArchSuffix
49	lib:libboost_regex$secondaryArchSuffix
50	lib:libboost_system$secondaryArchSuffix
51	lib:libHalf_2_4$secondaryArchSuffix
52	lib:libopenvdb$secondaryArchSuffix
53	lib:libtbb$secondaryArchSuffix
54	lib:libtbbmalloc$secondaryArchSuffix
55	lib:libtbbmalloc_proxy$secondaryArchSuffix
56	lib:libz$secondaryArchSuffix
57	"
58
59PROVIDES_devel="
60	openvdb${secondaryArchSuffix}_devel = $portVersion
61	devel:libopenvdb$secondaryArchSuffix = $libVersionCompat
62	"
63REQUIRES_devel="
64	openvdb$secondaryArchSuffix == $portVersion base
65	"
66
67BUILD_REQUIRES="
68	haiku${secondaryArchSuffix}_devel
69	devel:libblosc$secondaryArchSuffix
70	devel:libboost_iostreams$secondaryArchSuffix >= 1.69.0
71	devel:libboost_system$secondaryArchSuffix >= 1.69.0
72	devel:libboost_thread$secondaryArchSuffix >= 1.69.0
73	devel:libcppunit$secondaryArchSuffix
74	devel:libHalf_2_4$secondaryArchSuffix
75	devel:libtbb$secondaryArchSuffix
76	devel:libz$secondaryArchSuffix
77	"
78BUILD_PREREQUIRES="
79	cmd:cmake
80	cmd:g++$secondaryArchSuffix
81	cmd:make
82	cmd:pkg_config$secondaryArchSuffix
83	"
84
85defineDebugInfoPackage openvdb$secondaryArchSuffix \
86	$libDir/libopenvdb.so.$libVersion
87
88BUILD()
89{
90	cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
91		$cmakeDirArgs \
92		-DCMAKE_INSTALL_BINDIR=$commandBinDir \
93		-DTBB_ROOT="$portPackageLinksDir/devel~libtbb$secondaryArchSuffix/$relativeDevelopDir/" \
94		-DTBB_INCLUDEDIR="$portPackageLinksDir/devel~libtbb$secondaryArchSuffix/$relativeIncludeDir/" \
95		-DTBB_LIBRARYDIR="$portPackageLinksDir/devel~libtbb$secondaryArchSuffix/$relativeDevelopLibDir/" \
96		-DOPENVDB_BUILD_PYTHON_MODULE=OFF \
97		-DOPENVDB_CORE_STATIC=OFF
98	make -C build $jobArgs
99}
100
101INSTALL()
102{
103	make -C build install
104
105	prepareInstalledDevelLib libopenvdb
106
107	packageEntries devel \
108		$developDir \
109		$libDir/cmake
110
111	packageEntries tools $prefix/bin
112}
113
114TEST()
115{
116	cd haiku_build
117	make test
118}
119