1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00
freebsd-ports/cad/opencascade740/Makefile
Daniel Engberg f7accb23bf */*: Bump all users of multimedia/ffmpeg*
...to make sure all picks up new version(s)
2023-04-27 14:01:46 +02:00

147 lines
4.5 KiB
Makefile

PORTNAME= opencascade
PORTVERSION= 7.4.0 # resurrected because science/chrono only builds with opencascade-7.4.0, see https://github.com/projectchrono/chrono/issues/359#issuecomment-1023478083
PORTREVISION= 3
CATEGORIES= cad science
PKGNAMESUFFIX= 740
MAINTAINER= thierry@FreeBSD.org
COMMENT= Open CASCADE Technology, 3D modeling & numerical simulation
WWW= https://www.opencascade.org/
LICENSE= OCTPL
LICENSE_NAME= LGPL21 with exception
LICENSE_FILE= ${WRKSRC}/OCCT_LGPL_EXCEPTION.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BUILD_DEPENDS= ${LOCALBASE}/lib/qt5/bin/qmake:devel/qt5-qmake \
${LOCALBASE}/lib/qt5/bin/moc:devel/qt5-buildtools
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2
RUN_DEPENDS= bash:shells/bash
# Check ${WRKSRC}/dox/overview/overview.md
# and ${WRKSRC}/dox/dev_guides/building
USES= alias:10 cmake compiler:c++14-lang dos2unix \
gl python qt:5 shebangfix tk tar:tgz xorg
USE_XORG= ice sm x11 xext xi xmu xt
USE_GL= gl glu
DOS2UNIX_FILES= adm/templates/*
SHEBANG_FILES= adm/templates/*.sh \
adm/templates/*.sh.in \
adm/templates/*.sh.main \
adm/genconf.tcl \
adm/start.tcl \
gendoc
ENVSH= adm/templates/env.sh
OPTIONS_DEFINE= DOCS DOXYGEN FFMPEG VIS
VIS_DESC= Build Visualizazion module (requires OpenGL, freetype, ftgl and gl2ps)
OPTIONS_DEFAULT=FFMPEG VIS
OPTIONS_SUB= yes
REINPLACE_ARGS= -i ""
CFLAGS+= -I${LOCALBASE}/include
CMAKE_ARGS+= -DINSTALL_DIR=${OCCROOT} \
-DINSTALL_DIR_INCLUDE=${PREFIX}/include/OpenCASCADE \
-DINSTALL_DIR_LIB=${PREFIX}/lib \
-DINSTALL_DIR_CMAKE=${PREFIX}/lib/cmake \
-DINSTALL_DIR_DATA=${OCCROOT}/data \
-DINSTALL_DIR_RESOURCE=${OCCROOT}/resources \
-DINSTALL_DIR_SAMPLES=${OCCROOT}/samples \
-DINSTALL_DIR_TESTS=${OCCROOT}/tests \
-DINSTALL_TEST_CASES:BOOL=ON \
-DUSE_TBB:BOOL=OFF \
-DUSE_VTK:BOOL=OFF
USE_LDCONFIG= yes
CONFLICTS_INSTALL= opencascade # OpenCAS/bin/DRAWEXE
LOCCROOT= OpenCAS
OCCROOT= ${PREFIX}/${LOCCROOT}
PLIST_SUB= OCCROOT="${LOCCROOT}" BITS=${BITS} CC=${CHOSEN_COMPILER_TYPE} \
VE=${PORTVERSION:R:R} VER=${PORTVERSION}
FFMPEG_CMAKE_ON= -DUSE_FFMPEG:BOOL=ON \
-D3RDPARTY_FFMPEG_INCLUDE_DIR=${LOCALBASE}/ffmpeg4/include \
-D3RDPARTY_FFMPEG_DIR=${LOCALBASE}/ffmpeg4
FFMPEG_CMAKE_OFF= -DUSE_FFMPEG:BOOL=OFF
FFMPEG_LIB_DEPENDS= libavcodec.so.58:multimedia/ffmpeg4
VIS_CMAKE_ON= -DUSE_FREEIMAGE:BOOL=ON -DUSE_GL2PS:BOOL=ON \
-DUSE_FREETYPE:BOOL=ON -D3RDPARTY_FREETYPE_DIR=${LOCALBASE}
VIS_CMAKE_OFF= -DUSE_FREEIMAGE:BOOL=OFF -DUSE_GL2PS:BOOL=OFF \
-DUSE_FREETYPE:BOOL=OFF
VIS_LIB_DEPENDS= libftgl.so:graphics/ftgl \
libgl2ps.so:print/gl2ps \
libfreeimageplus.so:graphics/freeimage
DOXYGEN_IMPLIES= DOCS
DOXYGEN_USES= tex
DOXYGEN_USE= TEX=latex:build
DOXYGEN_BUILD_DEPENDS= bash:shells/bash \
doxygen:devel/doxygen \
dot:graphics/graphviz \
pdftex:print/tex-basic-engines \
inkscape:graphics/inkscape
DOXYGEN_RUN_DEPENDS= ${LOCALBASE}/www/MathJax/MathJax.js:www/mathjax
.include <bsd.port.options.mk>
.if ${ARCH} == "i386"
BITS= 32
.else
BITS= 64
.endif
pre-everything::
@${ECHO_MSG}
@${ECHO_MSG} "Warning: to build OpenCascade, you should have at least"
@${ECHO_MSG} "2.6 Gb of free disk space in build area!"
@${ECHO_MSG}
pre-configure:
${REINPLACE_CMD} -e 's|tclsh|${TCLSH}|' ${WRKSRC}/gendoc
${REINPLACE_CMD} -e 's|/usr/bin/|${LOCALBASE}/bin/|' ${WRKSRC}/adm/genconfdeps.tcl
${GREP} -rl x86_64 ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} \
-e 's|x86_64|amd64|'
.for es in ${ENVSH}
${REINPLACE_CMD} -e 's|lin|bsd|' ${WRKSRC}/${es}
.endfor
pre-patch:
@${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|' \
${WRKSRC}/src/OSD/OSD_MemInfo.cxx \
${WRKSRC}/src/StepFile/step.tab.c \
${WRKSRC}/src/StepFile/step.yacc
post-build-DOXYGEN-on:
(cd ${WRKSRC} && ./gendoc -overview)
post-install:
${MV} ${STAGEDIR}${OCCROOT}/bin/DRAWEXE-${PORTVERSION} ${STAGEDIR}${PREFIX}/bin/DRAWEXE
(cd ${STAGEDIR}${PREFIX}/bin && \
${LN} -sf DRAWEXE ${STAGEDIR}${OCCROOT}/bin/DRAWEXE)
# autoplist
@cd ${STAGEDIR}${PREFIX} && \
${FIND} * -type f -or -type l >> ${TMPPLIST}
post-install-DOXYGEN-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
(cd ${WRKSRC}/doc/overview && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
${RM} -r ${STAGEDIR}${DOCSDIR}/latex
.if defined(MAINTAINER_MODE)
regression-test: install
${RM} -rf /tmp/testOCC
${MKDIR} /tmp/testOCC
bash -c "\
cd ${OCCROOT} && . ${OCCROOT}/bin/env.sh && \
CSF_TestScriptsPath=${OCCROOT}/tests \
CSF_TestDataPath=${OCCROOT}/data \
DRAWEXE -f ${FILESDIR}/regtest "
.endif
.include <bsd.port.mk>