aboutsummaryrefslogtreecommitdiff
path: root/math/carve/Makefile
blob: fd315ef69d5ce2e25db008c95a7a697ec3cf2425 (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
# Created by: gahr
# $FreeBSD$

PORTNAME=	carve
PORTVERSION=	1.4.0
PORTREVISION=	4
CATEGORIES=	math
MASTER_SITES=	${MASTER_SITE_GOOGLE_CODE}
EXTRACT_SUFX=	.tgz

MAINTAINER=	gahr@FreeBSD.org
COMMENT=	A fast, robust constructive solid geometry library

LICENSE=	GPLv2

LIB_DEPENDS=	libboost_filesystem.so:${PORTSDIR}/devel/boost-libs

OPTIONS_DEFINE=	DOCS GUI

USES=		cmake:outsource compiler:c++11-lib
USE_GL=		glut
USE_LDCONFIG=	yes

PORTDOCS=	*

CFLAGS+=	-I${LOCALBASE}/include
CXXFLAGS+=	-std=c++11
LDFLAGS+=	-L${LOCALBASE}/lib

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MGUI}
LIB_DEPENDS+=	libglui.so:${PORTSDIR}/devel/glui
PLIST_SUB+=	GUI=""
CMAKE_ARGS+=	-DCARVE_WITH_GUI:BOOL=true
.else
CONFIGURE_ARGS+=--with-gui=no
PLIST_SUB+=	GUI="@comment "
CMAKE_ARGS+=	-DCARVE_WITH_GUI:BOOL=false
.endif

post-patch:
	${FIND} ${WRKSRC} -name "*.cpp" -o -name "*.h" -o -name "*.hpp" | ${XARGS} \
	    ${REINPLACE_CMD} -e 's|::tr1||g'
	${REINPLACE_CMD} -e '/gtest/s|^|#|; /tests/s|^|#|' ${WRKSRC}/CMakeLists.txt
	${REINPLACE_CMD} -e 's|__is_heap|is_heap|' ${WRKSRC}/lib/triangulator.cpp

post-install:
	${LN} -sf libcarve.so.${PORTVERSION} ${STAGEDIR}${PREFIX}/lib/libcarve.so.${PORTVERSION:R:R}
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${WRKSRC}/doc/carve.pdf ${STAGEDIR}${DOCSDIR}

.include <bsd.port.mk>