aboutsummaryrefslogtreecommitdiff
path: root/graphics/ogre3d/Makefile
blob: 588c8645aaabf9749d1639e1cd4529a794dbbe03 (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
PORTNAME=	ogre3d
DISTVERSIONPREFIX=	v
DISTVERSION=	1.11.6
PORTREVISION=	13
CATEGORIES=	graphics devel

MAINTAINER=	oliver@FreeBSD.org
COMMENT=	Scene-oriented, flexible 3D engine written in C++
WWW=		https://www.ogre3d.org/

LICENSE=	MIT
LICENSE_FILE=	${WRKSRC}/LICENSE

BROKEN_FreeBSD_12_powerpc64=	fails to build: /usr/local/bin/ld: /usr/lib/crt1.o:(.got+0x60): undefined reference to 'main'

LIB_DEPENDS=	libzzip.so:devel/zziplib \
		libfreetype.so:print/freetype2

CONFLICTS=	ogre3d19

USES=		cmake compiler:c++11-lib pkgconfig sdl xorg
USE_LDCONFIG=	yes
USE_SDL=	sdl2
USE_XORG=	x11 xaw xext xrandr xt

USE_GITHUB=	yes
GH_ACCOUNT=	OGRECave
GH_PROJECT=	ogre

PORTDOCS=	*

CMAKE_ON=	OGRE_CONFIG_ENABLE_ZIP
CMAKE_OFF=	OGRE_INSTALL_SAMPLES_SOURCE

OPTIONS_DEFINE=		CSHARP DOCS FREEIMAGE JAVA OPENEXR OPENGL PROFILE \
			PYTHON
OPTIONS_DEFAULT=	FREEIMAGE OPENGL
OPTIONS_SUB=		yes

DOCS_BUILD_DEPENDS=	doxygen:devel/doxygen
DOCS_CMAKE_BOOL=	OGRE_INSTALL_DOCS

FREEIMAGE_DESC=		Build FreeImage codec
FREEIMAGE_CMAKE_BOOL=	OGRE_BUILD_PLUGIN_FREEIMAGE
FREEIMAGE_LIB_DEPENDS=	libfreeimage.so:graphics/freeimage

OPENEXR_USE=		XORG=ice
OPENEXR_CMAKE_BOOL=	OGRE_BUILD_PLUGIN_EXRCODEC
OPENEXR_LIB_DEPENDS=	libOpenEXR.so:graphics/openexr \
			libImath.so:math/Imath

OPENGL_CMAKE_BOOL=	OGRE_BUILD_RENDERSYSTEM_GL3PLUS \
			OGRE_BUILD_RENDERSYSTEM_GL \
			OGRE_BUILD_RENDERSYSTEM_GLES2
OPENGL_USES=		gl
OPENGL_USE=		XORG=sm,ice GL=gl,glu

PROFILE_CMAKE_BOOL=	OGRE_PROFILING

CSHARP_DESC=		Build Csharp bindings
CSHARP_CMAKE_BOOL=	OGRE_BUILD_COMPONENT_CSHARP
CSHARP_BUILD_DEPENDS=	swig:devel/swig

JAVA_CMAKE_BOOL=	OGRE_BUILD_COMPONENT_JAVA
JAVA_BUILD_DEPENDS=	swig:devel/swig
JAVA_VARS=		CMAKE_ARGS+=-DJAVA_HOME=${JAVA_HOME}
JAVA_USE=		JAVA=yes
JAVA_BROKEN=		error: incompatible types: SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_t__iterator cannot be converted to Iterator

PYTHON_CMAKE_BOOL=	OGRE_BUILD_COMPONENT_PYTHON
PYTHON_BUILD_DEPENDS=	swig:devel/swig
PYTHON_USES=		python

CXXFLAGS+=		-DNDEBUG -I${LOCALBASE}/include -I${LOCALBASE}/include/Imath

post-patch:
	@${REINPLACE_CMD} -e '\
		s,defined(__x86_64__),& || defined(__sparc64__) || defined(__amd64__),' \
		${WRKSRC}/OgreMain/include/OgrePlatform.h

post-patch-PYTHON-on:
	@${REINPLACE_CMD} -e 's/\(Python_ADDITIONAL_VERSIONS\) [0-9\.]*/\$1 ${PYTHON_VER}/' \
		${WRKSRC}/CMake/Dependencies.cmake
	@${REINPLACE_CMD} -e "s/dist-packages/site-packages/" \
		${WRKSRC}/Components/Python/CMakeLists.txt

post-build-DOCS-on:
	${MAKE_CMD} -C ${BUILD_WRKSRC} OgreDoc

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for docfile in README.md LICENSE AUTHORS
	${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR}
.endfor

post-install-JAVA-on:
	@${MKDIR} ${STAGEDIR}${LOCALBASE}/share/OGRE/java
	${INSTALL_DATA} ${BUILD_WRKSRC}/java/Ogre-${DISTVERSION}.jar \
		${STAGEDIR}${LOCALBASE}/share/OGRE/java
	${INSTALL_LIB} ${BUILD_WRKSRC}/java/libs/libOgreJNI.so \
		${STAGEDIR}${LOCALBASE}/lib/OGRE

.include <bsd.port.mk>