summaryrefslogtreecommitdiff
path: root/graphics/f3d/Makefile
blob: 433fff4892c1ffac753a019d05727a3ce4e227d3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
PORTNAME=	f3d
DISTVERSIONPREFIX=	v
DISTVERSION=	2.5.0
PORTREVISION=	1
CATEGORIES=	graphics

MAINTAINER=	yuri@FreeBSD.org
COMMENT=	Fast and minimalist 3D viewer
WWW=		https://f3d.app/

LICENSE=	BSD3CLAUSE
LICENSE_FILE=	${WRKSRC}/LICENSE.md

LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg4 \
		libfontconfig.so:x11-fonts/fontconfig \
		libfreeimage.so:graphics/freeimage \
		libfreetype.so:print/freetype2 \
		libhdf5.so:science/hdf5 \
		libinotify.so:devel/libinotify \
		libnetcdf.so:science/netcdf \
		libtbb.so:devel/onetbb \
		libvtkCommonMisc-${VTK_VER}.so:math/vtk${VTK_VER:R}

USES=		cmake:testing compiler:c++17-lang desktop-file-utils gl \
		localbase:ldflags shared-mime-info tcl tk xorg
USE_GL=		gl
USE_XORG=	ice sm x11 xt
USE_LDCONFIG=	yes

USE_GITHUB=	yes
GH_ACCOUNT=	f3d-app

CMAKE_OFF=	F3D_STRICT_BUILD # disable -Werror
CMAKE_OFF+=	F3D_LINUX_APPLICATION_LINK_FILESYSTEM

LDFLAGS+=	-linotify

# dependency descroptions are in https://f3d.app/doc/dev/BUILD.html
OPTIONS_GROUP=			MODULES PLUGINS
OPTIONS_GROUP_MODULES=		EXTERNAL_RENDERING RAYTRACING
OPTIONS_GROUP_PLUGINS=		ALEMBIC ASSIMP DRACO EXODUS OCCT
OPTIONS_DEFAULT=		ALEMBIC ASSIMP DRACO EXODUS OCCT
OPTIONS_SUB=			yes

MODULES_DESC=			Build modules:

ALEMBIC_DESC=			Alembic plugin (for ABC files)
ALEMBIC_CMAKE_BOOL=		F3D_PLUGIN_BUILD_ALEMBIC
ALEMBIC_LIB_DEPENDS=		libAlembic.so:graphics/alembic \
				libImath-3_1.so:math/Imath

ASSIMP_DESC=			Assimp plugin (for FBX, OFF, DAE and DXF files)
ASSIMP_CMAKE_BOOL=		F3D_PLUGIN_BUILD_ASSIMP
ASSIMP_LIB_DEPENDS=		libassimp.so:multimedia/assimp

DRACO_DESC=			Draco plugin
DRACO_CMAKE_BOOL=		F3D_PLUGIN_BUILD_DRACO
DRACO_LIB_DEPENDS=		libdraco.so:archivers/draco

EXODUS_DESC=			ExodusII plugin
EXODUS_CMAKE_BOOL=		F3D_PLUGIN_BUILD_EXODUS

EXTERNAL_RENDERING_DESC=	External rendering module
EXTERNAL_RENDERING_CMAKE_BOOL=	F3D_MODULE_EXTERNAL_RENDERING
EXTERNAL_RENDERING_BROKEN=	Requires VTK::RenderingExternal enabled in VTK

OCCT_DESC=			OpenCASCADE plugin (for STEP and IGES files)
OCCT_USES=			localbase:ldflags
OCCT_CMAKE_BOOL=		F3D_PLUGIN_BUILD_OCCT
OCCT_LIB_DEPENDS=		libTKBRep.so:cad/opencascade
OCCT_CMAKE_ON=			-DOpenCASCADE_DIR=${LOCALBASE}/lib/cmake

RAYTRACING_DESC=		Raytracing module
RAYTRACING_CMAKE_BOOL=		F3D_MODULE_RAYTRACING
RAYTRACING_BROKEN=		Requires VTK::RenderingRayTracing enabled in VTK

post-install:
	@${RM} -r ${STAGEDIR}${DOCSDIR}
	# component-based install
	cd ${BUILD_WRKSRC} && \
		${SETENV} ${MAKE_ENV} ${CMAKE_BIN} --install . --component configuration && \
		${SETENV} ${MAKE_ENV} ${CMAKE_BIN} --install . --component sdk && \
		${SETENV} ${MAKE_ENV} ${CMAKE_BIN} --install . --component mimetypes

.include <../../math/vtk9/Makefile.version>
.include <bsd.port.mk>