1SUMMARY="A C++ 3D modeling library"
2DESCRIPTION="Open CASCADE Technology (OCCT) is an object-oriented C++ class \
3library designed for rapid production of sophisticated domain-specific \
4CAD/CAM/CAE applications."
5HOMEPAGE="https://www.opencascade.com/open-cascade-technology/"
6COPYRIGHT="1993-1999 Matra Datavision
7	1999-2020 OPEN CASCADE SAS"
8LICENSE="GNU LGPL v2.1
9	Open CASCADE exception v1.0"
10REVISION="1"
11SOURCE_URI="https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V${portVersion//./_}.tar.gz"
12CHECKSUM_SHA256="7321af48c34dc253bf8aae3f0430e8cb10976961d534d8509e72516978aa82f5"
13SOURCE_DIR="OCCT-${portVersion//./_}"
14PATCHES="opencascade-$portVersion.patchset"
15
16ARCHITECTURES="all !x86_gcc2"
17SECONDARY_ARCHITECTURES="x86"
18
19commandSuffix=$secondaryArchSuffix
20commandBinDir=$binDir
21relativeCommandBinDir=$relativeBinDir
22if [ "$targetArchitecture" = x86_gcc2 ]; then
23	commandSuffix=
24	commandBinDir=$prefix/bin
25	relativeCommandBinDir=bin
26fi
27
28libVersion="$portVersion"
29libVersionCompat="$libVersion compat >= ${libVersion%.*}"
30
31case "$targetArchitecture" in
32	*64*)
33		scriptBitness=64
34		;;
35	*)
36		scriptBitness=32
37		;;
38esac
39
40PROVIDES="
41	opencascade$secondaryArchSuffix = $portVersion
42	lib:libTKBin$secondaryArchSuffix = $libVersionCompat
43	lib:libTKBinL$secondaryArchSuffix = $libVersionCompat
44	lib:libTKBinTObj$secondaryArchSuffix = $libVersionCompat
45	lib:libTKBinXCAF$secondaryArchSuffix = $libVersionCompat
46	lib:libTKBO$secondaryArchSuffix = $libVersionCompat
47	lib:libTKBool$secondaryArchSuffix = $libVersionCompat
48	lib:libTKBRep$secondaryArchSuffix = $libVersionCompat
49	lib:libTKCAF$secondaryArchSuffix = $libVersionCompat
50	lib:libTKCDF$secondaryArchSuffix = $libVersionCompat
51	lib:libTKDE$secondaryArchSuffix = $libVersionCompat
52	lib:libTKDECascade$secondaryArchSuffix = $libVersionCompat
53	lib:libTKDEGLTF$secondaryArchSuffix = $libVersionCompat
54	lib:libTKDEIGES$secondaryArchSuffix = $libVersionCompat
55	lib:libTKDEOBJ$secondaryArchSuffix = $libVersionCompat
56	lib:libTKDEPLY$secondaryArchSuffix = $libVersionCompat
57	lib:libTKDESTEP$secondaryArchSuffix = $libVersionCompat
58	lib:libTKDESTL$secondaryArchSuffix = $libVersionCompat
59	lib:libTKDEVRML$secondaryArchSuffix = $libVersionCompat
60	lib:libTKernel$secondaryArchSuffix = $libVersionCompat
61	lib:libTKFeat$secondaryArchSuffix = $libVersionCompat
62	lib:libTKFillet$secondaryArchSuffix = $libVersionCompat
63	lib:libTKG2d$secondaryArchSuffix = $libVersionCompat
64	lib:libTKG3d$secondaryArchSuffix = $libVersionCompat
65	lib:libTKGeomAlgo$secondaryArchSuffix = $libVersionCompat
66	lib:libTKGeomBase$secondaryArchSuffix = $libVersionCompat
67	lib:libTKHLR$secondaryArchSuffix = $libVersionCompat
68	lib:libTKLCAF$secondaryArchSuffix = $libVersionCompat
69	lib:libTKMath$secondaryArchSuffix = $libVersionCompat
70	lib:libTKMesh$secondaryArchSuffix = $libVersionCompat
71	lib:libTKMeshVS$secondaryArchSuffix = $libVersionCompat
72	lib:libTKOffset$secondaryArchSuffix = $libVersionCompat
73#	lib:libTKOpenGl$secondaryArchSuffix = $libVersionCompat
74	lib:libTKPrim$secondaryArchSuffix = $libVersionCompat
75	lib:libTKRWMesh$secondaryArchSuffix = $libVersionCompat
76	lib:libTKService$secondaryArchSuffix = $libVersionCompat
77	lib:libTKShHealing$secondaryArchSuffix = $libVersionCompat
78	lib:libTKStd$secondaryArchSuffix = $libVersionCompat
79	lib:libTKStdL$secondaryArchSuffix = $libVersionCompat
80	lib:libTKTObj$secondaryArchSuffix = $libVersionCompat
81	lib:libTKTopAlgo$secondaryArchSuffix = $libVersionCompat
82	lib:libTKV3d$secondaryArchSuffix = $libVersionCompat
83	lib:libTKVCAF$secondaryArchSuffix = $libVersionCompat
84	lib:libTKXCAF$secondaryArchSuffix = $libVersionCompat
85	lib:libTKXMesh$secondaryArchSuffix = $libVersionCompat
86	lib:libTKXml$secondaryArchSuffix = $libVersionCompat
87	lib:libTKXmlL$secondaryArchSuffix = $libVersionCompat
88	lib:libTKXmlTObj$secondaryArchSuffix = $libVersionCompat
89	lib:libTKXmlXCAF$secondaryArchSuffix = $libVersionCompat
90	lib:libTKXSBase$secondaryArchSuffix = $libVersionCompat
91	"
92REQUIRES="
93	haiku$secondaryArchSuffix
94	lib:libavcodec$secondaryArchSuffix
95	lib:libavformat$secondaryArchSuffix
96	lib:libavutil$secondaryArchSuffix
97	lib:libdraco$secondaryArchSuffix
98#	lib:libEGL$secondaryArchSuffix
99	lib:libexecinfo$secondaryArchSuffix
100	lib:libfontconfig$secondaryArchSuffix
101	lib:libfreeimage$secondaryArchSuffix
102	lib:libfreetype$secondaryArchSuffix
103#	lib:libGL$secondaryArchSuffix
104	lib:libswscale$secondaryArchSuffix
105#	lib:libtbb$secondaryArchSuffix
106	lib:libX11$secondaryArchSuffix
107	"
108
109PROVIDES_devel="
110	opencascade${secondaryArchSuffix}_devel = $portVersion
111	devel:libTKBin$secondaryArchSuffix = $libVersionCompat
112	devel:libTKBinL$secondaryArchSuffix = $libVersionCompat
113	devel:libTKBinTObj$secondaryArchSuffix = $libVersionCompat
114	devel:libTKBinXCAF$secondaryArchSuffix = $libVersionCompat
115	devel:libTKBO$secondaryArchSuffix = $libVersionCompat
116	devel:libTKBool$secondaryArchSuffix = $libVersionCompat
117	devel:libTKBRep$secondaryArchSuffix = $libVersionCompat
118	devel:libTKCAF$secondaryArchSuffix = $libVersionCompat
119	devel:libTKCDF$secondaryArchSuffix = $libVersionCompat
120	devel:libTKDCAF$secondaryArchSuffix = $libVersionCompat
121	devel:libTKDE$secondaryArchSuffix = $libVersionCompat
122	devel:libTKDECascade$secondaryArchSuffix = $libVersionCompat
123	devel:libTKDEGLTF$secondaryArchSuffix = $libVersionCompat
124	devel:libTKDEIGES$secondaryArchSuffix = $libVersionCompat
125	devel:libTKDEOBJ$secondaryArchSuffix = $libVersionCompat
126	devel:libTKDEPLY$secondaryArchSuffix = $libVersionCompat
127	devel:libTKDESTEP$secondaryArchSuffix = $libVersionCompat
128	devel:libTKDESTL$secondaryArchSuffix = $libVersionCompat
129	devel:libTKDEVRML$secondaryArchSuffix = $libVersionCompat
130	devel:libTKDFBrowser$secondaryArchSuffix = $libVersionCompat
131	devel:libTKDraw$secondaryArchSuffix = $libVersionCompat
132	devel:libTKernel$secondaryArchSuffix = $libVersionCompat
133	devel:libTKExpress$secondaryArchSuffix = $libVersionCompat
134	devel:libTKFeat$secondaryArchSuffix = $libVersionCompat
135	devel:libTKFillet$secondaryArchSuffix = $libVersionCompat
136	devel:libTKG2d$secondaryArchSuffix = $libVersionCompat
137	devel:libTKG3d$secondaryArchSuffix = $libVersionCompat
138	devel:libTKGeomAlgo$secondaryArchSuffix = $libVersionCompat
139	devel:libTKGeomBase$secondaryArchSuffix = $libVersionCompat
140	devel:libTKHLR$secondaryArchSuffix = $libVersionCompat
141	devel:libTKLCAF$secondaryArchSuffix = $libVersionCompat
142	devel:libTKMath$secondaryArchSuffix = $libVersionCompat
143	devel:libTKMesh$secondaryArchSuffix = $libVersionCompat
144	devel:libTKMeshVS$secondaryArchSuffix = $libVersionCompat
145	devel:libTKMessageModel$secondaryArchSuffix = $libVersionCompat
146	devel:libTKMessageView$secondaryArchSuffix = $libVersionCompat
147	devel:libTKOffset$secondaryArchSuffix = $libVersionCompat
148#	devel:libTKOpenGl$secondaryArchSuffix = $libVersionCompat
149#	devel:libTKOpenGlTest$secondaryArchSuffix = $libVersionCompat
150	devel:libTKPrim$secondaryArchSuffix = $libVersionCompat
151	devel:libTKQADraw$secondaryArchSuffix = $libVersionCompat
152	devel:libTKRWMesh$secondaryArchSuffix = $libVersionCompat
153	devel:libTKService$secondaryArchSuffix = $libVersionCompat
154	devel:libTKShapeView$secondaryArchSuffix = $libVersionCompat
155	devel:libTKShHealing$secondaryArchSuffix = $libVersionCompat
156	devel:libTKStd$secondaryArchSuffix = $libVersionCompat
157	devel:libTKStdL$secondaryArchSuffix = $libVersionCompat
158	devel:libTKTInspector$secondaryArchSuffix = $libVersionCompat
159	devel:libTKTInspectorAPI$secondaryArchSuffix = $libVersionCompat
160	devel:libTKTObj$secondaryArchSuffix = $libVersionCompat
161	devel:libTKTObjDRAW$secondaryArchSuffix = $libVersionCompat
162	devel:libTKToolsDraw$secondaryArchSuffix = $libVersionCompat
163	devel:libTKTopAlgo$secondaryArchSuffix = $libVersionCompat
164	devel:libTKTopTest$secondaryArchSuffix = $libVersionCompat
165	devel:libTKTreeModel$secondaryArchSuffix = $libVersionCompat
166	devel:libTKV3d$secondaryArchSuffix = $libVersionCompat
167	devel:libTKVCAF$secondaryArchSuffix = $libVersionCompat
168	devel:libTKVInspector$secondaryArchSuffix = $libVersionCompat
169	devel:libTKView$secondaryArchSuffix = $libVersionCompat
170	devel:libTKViewerTest$secondaryArchSuffix = $libVersionCompat
171	devel:libTKXCAF$secondaryArchSuffix = $libVersionCompat
172	devel:libTKXDEDRAW$secondaryArchSuffix = $libVersionCompat
173	devel:libTKXMesh$secondaryArchSuffix = $libVersionCompat
174	devel:libTKXml$secondaryArchSuffix = $libVersionCompat
175	devel:libTKXmlL$secondaryArchSuffix = $libVersionCompat
176	devel:libTKXmlTObj$secondaryArchSuffix = $libVersionCompat
177	devel:libTKXmlXCAF$secondaryArchSuffix = $libVersionCompat
178	devel:libTKXSBase$secondaryArchSuffix = $libVersionCompat
179	devel:libTKXSDRAW$secondaryArchSuffix = $libVersionCompat
180	devel:libTKXSDRAWDE$secondaryArchSuffix = $libVersionCompat
181	devel:libTKXSDRAWGLTF$secondaryArchSuffix = $libVersionCompat
182	devel:libTKXSDRAWIGES$secondaryArchSuffix = $libVersionCompat
183	devel:libTKXSDRAWOBJ$secondaryArchSuffix = $libVersionCompat
184	devel:libTKXSDRAWPLY$secondaryArchSuffix = $libVersionCompat
185	devel:libTKXSDRAWSTEP$secondaryArchSuffix = $libVersionCompat
186	devel:libTKXSDRAWSTL$secondaryArchSuffix = $libVersionCompat
187	devel:libTKXSDRAWVRML$secondaryArchSuffix = $libVersionCompat
188	"
189REQUIRES_devel="
190	opencascade$secondaryArchSuffix == $portVersion base
191	opencascade${secondaryArchSuffix}_tools == $portVersion
192	"
193
194PROVIDES_doc="
195	opencascade${secondaryArchSuffix}_doc = $portVersion
196	"
197REQUIRES_doc="
198	opencascade$secondaryArchSuffix == $portVersion base
199	"
200
201PROVIDES_samples="
202	opencascade${secondaryArchSuffix}_samples = $portVersion
203	cmd:FuncDemo$commandSuffix = $portVersion
204	cmd:FuncDemo_$portVersion$commandSuffix = $portVersion
205	cmd:IESample$commandSuffix = $portVersion
206	cmd:IESample_$portVersion$commandSuffix = $portVersion
207	cmd:OCCTOverview$commandSuffix = $portVersion
208	cmd:OCCTOverview_$portVersion$commandSuffix = $portVersion
209	cmd:Tutorial$commandSuffix = $portVersion
210	cmd:Tutorial_$portVersion$commandSuffix = $portVersion
211	cmd:sample.sh
212	"
213REQUIRES_samples="
214	opencascade$secondaryArchSuffix == $portVersion base
215	opencascade${secondaryArchSuffix}_tools == $portVersion
216	haiku$secondaryArchSuffix
217	lib:libavcodec$secondaryArchSuffix
218	lib:libavformat$secondaryArchSuffix
219	lib:libavutil$secondaryArchSuffix
220#	lib:libEGL$secondaryArchSuffix
221	lib:libexecinfo$secondaryArchSuffix
222	lib:libfontconfig$secondaryArchSuffix
223	lib:libfreeimage$secondaryArchSuffix
224	lib:libfreetype$secondaryArchSuffix
225#	lib:libGL$secondaryArchSuffix
226	lib:libQt5Core$secondaryArchSuffix
227	lib:libQt5Gui$secondaryArchSuffix
228	lib:libQt5Qml$secondaryArchSuffix
229	lib:libQt5QmlModels$secondaryArchSuffix
230	lib:libQt5Quick$secondaryArchSuffix
231	lib:libQt5Widgets$secondaryArchSuffix
232	lib:libQt5Xml$secondaryArchSuffix
233	lib:libswscale$secondaryArchSuffix
234#	lib:libtbb$secondaryArchSuffix
235	lib:libX11$secondaryArchSuffix
236	"
237
238SUMMARY_tools="C++ 3D modeling tools (DRAW, Inspector and ExpToCas)"
239PROVIDES_tools="
240	opencascade${secondaryArchSuffix}_tools = $portVersion
241	cmd:DRAWEXE$commandSuffix = $portVersion
242	cmd:DRAWEXE_$portVersion$commandSuffix = $portVersion
243	cmd:ExpToCasExe$commandSuffix = $portVersion
244	cmd:ExpToCasExe_$portVersion$commandSuffix = $portVersion
245	cmd:TInspectorEXE$commandSuffix = $portVersion
246	cmd:TInspectorEXE_$portVersion$commandSuffix = $portVersion
247	cmd:custom.sh
248	cmd:custom_gcc_$scriptBitness.sh
249	cmd:draw.sh
250	cmd:env.sh
251	cmd:inspector.sh
252	lib:libTKDCAF$secondaryArchSuffix = $libVersionCompat
253	lib:libTKDFBrowser$secondaryArchSuffix = $libVersionCompat
254	lib:libTKDraw$secondaryArchSuffix = $libVersionCompat
255	lib:libTKExpress$secondaryArchSuffix = $libVersionCompat
256	lib:libTKMessageModel$secondaryArchSuffix = $libVersionCompat
257	lib:libTKMessageView$secondaryArchSuffix = $libVersionCompat
258#	lib:libTKOpenGlTest$secondaryArchSuffix = $libVersionCompat
259	lib:libTKQADraw$secondaryArchSuffix = $libVersionCompat
260	lib:libTKShapeView$secondaryArchSuffix = $libVersionCompat
261	lib:libTKTInspector$secondaryArchSuffix = $libVersionCompat
262	lib:libTKTInspectorAPI$secondaryArchSuffix = $libVersionCompat
263	lib:libTKTObjDRAW$secondaryArchSuffix = $libVersionCompat
264	lib:libTKToolsDraw$secondaryArchSuffix = $libVersionCompat
265	lib:libTKTopTest$secondaryArchSuffix = $libVersionCompat
266	lib:libTKTreeModel$secondaryArchSuffix = $libVersionCompat
267	lib:libTKVInspector$secondaryArchSuffix = $libVersionCompat
268	lib:libTKView$secondaryArchSuffix = $libVersionCompat
269	lib:libTKViewerTest$secondaryArchSuffix = $libVersionCompat
270	lib:libTKXDEDRAW$secondaryArchSuffix = $libVersionCompat
271	lib:libTKXSDRAW$secondaryArchSuffix = $libVersionCompat
272	lib:libTKXSDRAWDE$secondaryArchSuffix = $libVersionCompat
273	lib:libTKXSDRAWGLTF$secondaryArchSuffix = $libVersionCompat
274	lib:libTKXSDRAWIGES$secondaryArchSuffix = $libVersionCompat
275	lib:libTKXSDRAWOBJ$secondaryArchSuffix = $libVersionCompat
276	lib:libTKXSDRAWPLY$secondaryArchSuffix = $libVersionCompat
277	lib:libTKXSDRAWSTEP$secondaryArchSuffix = $libVersionCompat
278	lib:libTKXSDRAWSTL$secondaryArchSuffix = $libVersionCompat
279	lib:libTKXSDRAWVRML$secondaryArchSuffix = $libVersionCompat
280	"
281REQUIRES_tools="
282	opencascade$secondaryArchSuffix == $portVersion base
283	haiku$secondaryArchSuffix
284	lib:libavcodec$secondaryArchSuffix
285	lib:libavformat$secondaryArchSuffix
286	lib:libavutil$secondaryArchSuffix
287#	lib:libEGL$secondaryArchSuffix
288	lib:libexecinfo$secondaryArchSuffix
289	lib:libfontconfig$secondaryArchSuffix
290	lib:libfreeimage$secondaryArchSuffix
291	lib:libfreetype$secondaryArchSuffix
292#	lib:libGL$secondaryArchSuffix
293	lib:libQt5Gui$secondaryArchSuffix
294	lib:libQt5Qml$secondaryArchSuffix
295	lib:libQt5QmlModels$secondaryArchSuffix
296	lib:libQt5Quick$secondaryArchSuffix
297	lib:libQt5Widgets$secondaryArchSuffix
298	lib:libQt5Xml$secondaryArchSuffix
299	lib:libswscale$secondaryArchSuffix
300#	lib:libtbb$secondaryArchSuffix
301	lib:libtcl8.6$secondaryArchSuffix
302#	lib:libtk8.6$secondaryArchSuffix
303	lib:libX11$secondaryArchSuffix
304	"
305
306BUILD_REQUIRES="
307	haiku${secondaryArchSuffix}_devel
308	cmd:dot
309	cmd:doxygen >= 1.8.4
310	cmd:lrelease$secondaryArchSuffix
311	cmd:tclsh
312	devel:libavcodec$secondaryArchSuffix >= 58
313	devel:libavformat$secondaryArchSuffix >= 58
314	devel:libavutil$secondaryArchSuffix >= 56
315	devel:libdraco$secondaryArchSuffix
316	devel:libexecinfo$secondaryArchSuffix
317#	devel:libEGL$secondaryArchSuffix
318	devel:libfontconfig$secondaryArchSuffix
319	devel:libfreeimage$secondaryArchSuffix
320	devel:libfreetype$secondaryArchSuffix
321#	devel:libGL$secondaryArchSuffix
322	devel:libQt5Gui$secondaryArchSuffix
323	devel:libQt5Qml$secondaryArchSuffix
324	devel:libQt5QmlModels$secondaryArchSuffix
325	devel:libQt5Quick$secondaryArchSuffix
326	devel:libQt5Widgets$secondaryArchSuffix
327	devel:libQt5Xml$secondaryArchSuffix
328	devel:librapidjson$secondaryArchSuffix
329	devel:libswscale$secondaryArchSuffix >= 5
330#	devel:libtbb$secondaryArchSuffix
331	devel:libtclstub8.6$secondaryArchSuffix
332#	devel:libtk8.6$secondaryArchSuffix
333	devel:libX11$secondaryArchSuffix
334	"
335BUILD_PREREQUIRES="
336	cmd:cmake
337	cmd:g++$secondaryArchSuffix
338	cmd:make
339	cmd:pkg_config$secondaryArchSuffix
340	"
341
342BUILD()
343{
344	cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
345		-D3RDPARTY_DRACO_INCLUDE_DIR=/boot/system/$relativeIncludeDir \
346		-D3RDPARTY_DRACO_LIBRARY=/boot/system/$relativeDevelopLibDir/libdraco.so \
347		-D3RDPARTY_QT_DIR=$portPackageLinksDir/devel~libqt5 \
348		-D3RDPARTY_SKIP_DOT_EXECUTABLE=OFF \
349		-DBUILD_Inspector=ON \
350		-DBUILD_OPT_PROFILE=Production \
351		-DBUILD_SAMPLES_QT=ON \
352		-DINSTALL_DIR=$prefix \
353		-DINSTALL_DIR_BIN=$relativeCommandBinDir \
354		-DINSTALL_DIR_CMAKE=$relativeDevelopLibDir/cmake/opencascade \
355		-DINSTALL_DIR_DATA=$relativeDataDir/opencascade/data \
356		-DINSTALL_DIR_DOC=$relativeDocDir \
357		-DINSTALL_DIR_INCLUDE=$relativeIncludeDir/opencascade \
358		-DINSTALL_DIR_LIB=$relativeLibDir \
359		-DINSTALL_DIR_RESOURCE=$relativeDataDir/opencascade/resources \
360		-DINSTALL_DIR_SAMPLES=$relativeDataDir/opencascade/samples \
361		-DINSTALL_DIR_SCRIPT=$relativeCommandBinDir \
362		-DINSTALL_DIR_TESTS=$relativeDataDir/opencascade/tests \
363		-DINSTALL_DOC_Overview=ON \
364		-DINSTALL_SAMPLES=ON \
365		-DINSTALL_TEST_CASES=OFF \
366		-DUSE_DRACO=ON \
367		-DUSE_FFMPEG=ON \
368		-DUSE_FREEIMAGE=ON \
369		-DUSE_OPENGL=OFF \
370		-DUSE_OPENVR=OFF \
371		-DUSE_RAPIDJSON=ON \
372		-DUSE_TBB=OFF \
373		-DUSE_TK=OFF \
374		-DUSE_VTK=OFF \
375		-DUSE_XLIB=ON
376		# OpenVR and VTK are not available, TBB is too old, (SDL)Tk hangs on opening a
377		# window, OpenGL has no native implementation and EGL is broken
378
379	make -C build $jobArgs
380}
381
382INSTALL()
383{
384	make -C build install
385
386	prepareInstalledDevelLibs libTKBin libTKBinL libTKBinTObj libTKBinXCAF libTKBO libTKBool \
387		libTKBRep libTKCAF libTKCDF libTKDCAF libTKDE libTKDECascade libTKDEGLTF libTKDEIGES \
388		libTKDEOBJ libTKDEPLY libTKDESTEP libTKDESTL libTKDEVRML libTKDFBrowser libTKDraw \
389		libTKernel libTKExpress libTKFeat libTKFillet libTKG2d libTKG3d libTKGeomAlgo \
390		libTKGeomBase libTKHLR libTKLCAF libTKMath libTKMesh libTKMeshVS libTKMessageModel \
391		libTKMessageView libTKOffset libTKPrim libTKQADraw libTKRWMesh libTKService \
392		libTKShapeView libTKShHealing libTKStd libTKStdL libTKTInspector libTKTInspectorAPI \
393		libTKTObj libTKTObjDRAW libTKToolsDraw libTKTopAlgo libTKTopTest libTKTreeModel libTKV3d \
394		libTKVCAF libTKView libTKViewerTest libTKVInspector libTKXCAF libTKXDEDRAW libTKXMesh \
395		libTKXml libTKXmlL libTKXmlTObj libTKXmlXCAF libTKXSBase libTKXSDRAW libTKXSDRAWDE \
396		libTKXSDRAWGLTF libTKXSDRAWIGES libTKXSDRAWOBJ libTKXSDRAWPLY libTKXSDRAWSTEP \
397		libTKXSDRAWSTL libTKXSDRAWVRML
398
399	packageEntries devel \
400		$developDir
401
402	packageEntries doc \
403		$documentationDir
404
405	packageEntries samples \
406		$commandBinDir/FuncDemo* \
407		$commandBinDir/IESample* \
408		$commandBinDir/OCCTOverview* \
409		$commandBinDir/Tutorial* \
410		$commandBinDir/sample.sh \
411		$dataDir/opencascade/samples \
412		$dataDir/opencascade/resources/samples
413
414	packageEntries tools \
415		$commandBinDir \
416		$libDir/libTKExpress.so* \
417		$libDir/libTKTInspector.so* \
418		$libDir/libTKTInspectorAPI.so* \
419		$dataDir/opencascade/resources/DrawResources
420
421	# for dynamic loading, version-less symlinks are needed for some libraries
422	toolsLibs="libTKDraw libTKTopTest libTKViewerTest libTKXSDRAW libTKXSDRAWDE libTKXSDRAWGLTF \
423		libTKXSDRAWIGES libTKXSDRAWOBJ libTKXSDRAWPLY libTKXSDRAWSTEP libTKXSDRAWSTL \
424		libTKXSDRAWVRML libTKDCAF libTKXDEDRAW libTKTObjDRAW libTKQADraw libTKShapeView \
425		libTKMessageModel libTKMessageView libTKView libTKVInspector libTKTreeModel \
426		libTKDFBrowser libTKToolsDraw"
427	for lib in $toolsLibs; do
428		ln -s $lib.so.$portVersion $libDir/$lib.so
429		packageEntries tools \
430			$libDir/$lib.so*
431	done
432}
433
434TEST()
435{
436	cd build
437	source env.sh
438	lin??/gcc/bin/DRAWEXE -c testgrid
439}
440