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

PORTNAME=   carve
PORTVERSION=    1.4.0
PORTREVISION=   5
CATEGORIES= math
MASTER_SITES=   GOOGLE_CODE

MAINTAINER= ports@FreeBSD.org
COMMENT=    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 tar:tgz
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>