2010-01-18 14:15:53 +01:00
|
|
|
# New ports collection makefile for: opencv
|
2005-12-29 04:38:28 +01:00
|
|
|
# Date created: 05 March 2005
|
|
|
|
# Whom: Marc Abramowitz (http://marc.abramowitz.info)
|
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
|
2011-06-29 13:46:01 +02:00
|
|
|
PORTNAME?= opencv
|
2011-08-22 23:10:22 +02:00
|
|
|
PORTVERSION= 2.3.1
|
2005-12-29 04:38:28 +01:00
|
|
|
CATEGORIES= graphics
|
2011-08-22 23:10:22 +02:00
|
|
|
MASTER_SITES= SF/${PORTNAME}library/${PORTNAME}-unix/${PORTVERSION}
|
2011-06-29 13:46:01 +02:00
|
|
|
DISTNAME= OpenCV-${DISTVERSION}
|
2005-12-29 04:38:28 +01:00
|
|
|
|
2011-06-29 13:46:01 +02:00
|
|
|
MAINTAINER= mm@FreeBSD.org
|
2009-08-18 10:16:07 +02:00
|
|
|
COMMENT= Open Source Computer Vision library from Intel
|
2005-12-29 04:38:28 +01:00
|
|
|
|
2010-08-27 20:16:16 +02:00
|
|
|
LICENSE= BSD
|
|
|
|
LICENSE_FILE= ${WRKSRC}/doc/license.txt
|
|
|
|
|
2010-01-18 14:15:53 +01:00
|
|
|
USE_GNOME= pkgconfig
|
|
|
|
WANT_GSTREAMER= yes
|
|
|
|
MAKE_JOBS_SAFE= yes
|
|
|
|
USE_BZIP2= yes
|
|
|
|
USE_CMAKE= yes
|
2007-04-05 10:29:24 +02:00
|
|
|
USE_LDCONFIG= yes
|
2010-01-18 14:15:53 +01:00
|
|
|
|
2011-06-29 13:46:01 +02:00
|
|
|
WRKSRC= ${WRKDIR}/OpenCV-${DISTVERSION:S/rc//}
|
|
|
|
|
2010-01-30 00:03:23 +01:00
|
|
|
NOT_FOR_ARCHS= sparc64
|
|
|
|
NOT_FOR_ARCHS_REASON_sparc64= does not compile on sparc64
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
DATADIR= ${PREFIX}/share/OpenCV
|
|
|
|
PLIST_SUB+= VERSION=${PORTVERSION}
|
|
|
|
|
|
|
|
.if !defined(_BUILDING_OPENCV_CORE) && !defined(_BUILDING_OPENCV_PYTHON)
|
2011-06-29 13:46:01 +02:00
|
|
|
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-opencv
|
|
|
|
LIB_DEPENDS+= opencv_core.2:${PORTSDIR}/graphics/opencv-core
|
|
|
|
CMAKE_ENV+= LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
|
2010-01-18 14:15:53 +01:00
|
|
|
|
2011-06-29 13:46:01 +02:00
|
|
|
PORTDOCS= *
|
2010-01-18 14:15:53 +01:00
|
|
|
|
2011-06-29 13:46:01 +02:00
|
|
|
OPTIONS= EIGEN2 "Include Eigen 2 support" on \
|
|
|
|
FFMPEG "Include FFmpeg support" off \
|
2010-01-18 14:15:53 +01:00
|
|
|
GSTREAMER "Include Gstreamer support" off \
|
|
|
|
GTK "Include GTK+ support" off \
|
|
|
|
JASPER "Include JPEG 2000 support" on \
|
|
|
|
JPEG "Include JPEG support" on \
|
2011-06-29 13:46:01 +02:00
|
|
|
OPENEXR "Include OpenEXR support" off \
|
2010-01-18 14:15:53 +01:00
|
|
|
PNG "Include PNG support" on \
|
2011-06-29 13:46:01 +02:00
|
|
|
QT4 "Build with Qt backend support" off \
|
2010-08-27 20:16:16 +02:00
|
|
|
TBB "Include TBB support" off \
|
2010-01-18 14:15:53 +01:00
|
|
|
TIFF "Include TIFF support" on \
|
|
|
|
V4L "Include Video4Linux support" on \
|
|
|
|
XINE "Include XINE support" off
|
|
|
|
|
2010-08-27 20:16:16 +02:00
|
|
|
.include <bsd.port.options.mk>
|
2010-01-28 23:50:39 +01:00
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(NOPORTEXAMPLES)
|
|
|
|
CMAKE_ARGS+= -DBUILD_EXAMPLES:BOOL=On -DINSTALL_C_EXAMPLES:BOOL=On
|
|
|
|
PORTEXAMPLES+= c cpp gpu
|
2011-06-29 13:46:01 +02:00
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(WITHOUT_EIGEN2)
|
2011-06-29 13:46:01 +02:00
|
|
|
BUILD_DEPENDS+= ${LOCALBASE}/include/eigen2/Eigen/Eigen:${PORTSDIR}/math/eigen2
|
|
|
|
CMAKE_ARGS+= -DWITH_EIGEN2:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DDWITH_EIGEN2:BOOL=Off
|
2010-01-18 14:15:53 +01:00
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_FFMPEG)
|
2010-01-18 14:15:53 +01:00
|
|
|
LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg
|
|
|
|
CMAKE_ARGS+= -DWITH_FFMPEG:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_FFMPEG:BOOL=Off
|
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_GSTREAMER)
|
2010-08-27 20:16:16 +02:00
|
|
|
USE_GSTREAMER= yes
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_GSTREAMER:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_GSTREAMER:BOOL=Off
|
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_GTK)
|
2007-04-05 10:29:24 +02:00
|
|
|
USE_GNOME= gtk20
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_GTK:BOOL=On
|
2007-04-05 10:29:24 +02:00
|
|
|
.else
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_GTK:BOOL=Off
|
2007-04-05 10:29:24 +02:00
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(WITHOUT_JASPER)
|
2010-01-18 14:15:53 +01:00
|
|
|
LIB_DEPENDS+= jasper.4:${PORTSDIR}/graphics/jasper
|
|
|
|
CMAKE_ARGS+= -DWITH_JASPER:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_JASPER:BOOL=Off
|
|
|
|
.endif
|
2007-04-05 10:29:24 +02:00
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(WITHOUT_JPEG)
|
2010-02-05 12:46:55 +01:00
|
|
|
LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_JPEG:BOOL=On
|
2007-04-05 10:29:24 +02:00
|
|
|
.else
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_JPEG:BOOL=Off
|
2007-04-05 10:29:24 +02:00
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_OPENEXR)
|
2011-06-29 13:46:01 +02:00
|
|
|
LIB_DEPENDS+= IlmImf:${PORTSDIR}/graphics/OpenEXR
|
|
|
|
CMAKE_ARGS+= -DWITH_OPENEXR:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_OPENEXR:BOOL=Off
|
|
|
|
.endif
|
2010-01-18 14:15:53 +01:00
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(WITHOUT_PNG)
|
2010-03-28 08:47:48 +02:00
|
|
|
LIB_DEPENDS+= png.6:${PORTSDIR}/graphics/png
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_PNG:BOOL=On
|
2007-04-05 10:29:24 +02:00
|
|
|
.else
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_PNG:BOOL=Off
|
2007-04-05 10:29:24 +02:00
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_QT4)
|
2011-06-29 13:46:01 +02:00
|
|
|
USE_QT_VER= 4
|
|
|
|
QT_COMPONENTS+= opengl moc_build qmake_build rcc_build uic_build
|
|
|
|
CMAKE_ARGS+= -DWITH_QT:BOOL=On -DWITH_QT_OPENGL:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_QT:BOOL=Off
|
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_TBB)
|
2010-08-27 20:16:16 +02:00
|
|
|
LIB_DEPENDS+= tbb.3:${PORTSDIR}/devel/tbb
|
|
|
|
CMAKE_ARGS+= -DWITH_TBB:BOOL=On \
|
|
|
|
-DTBBLIB_FOUND:BOOL=1 -DTBB_FOUND:BOOL=On \
|
|
|
|
-DTBB_INCLUDE_DIRS:STRING="${LOCALBASE}/include" \
|
|
|
|
-DTBB_LIBRARY_DIRS:STRING="${LOCALBASE}/lib" \
|
|
|
|
-DTBB_LIBRARIES:STRING="tbb"
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_TBB:BOOL=Off
|
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(WITHOUT_TIFF)
|
2010-01-18 14:15:53 +01:00
|
|
|
LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
|
|
|
|
CMAKE_ARGS+= -DWITH_TIFF:BOOL=On
|
2007-04-05 10:29:24 +02:00
|
|
|
.else
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_TIFF:BOOL=Off
|
2007-04-05 10:29:24 +02:00
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if !defined(WITHOUT_V4L)
|
2010-08-27 20:16:16 +02:00
|
|
|
LIB_DEPENDS+= v4l2.0:${PORTSDIR}/multimedia/libv4l
|
|
|
|
BUILD_DEPENDS+= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_V4L:BOOL=On \
|
|
|
|
-DCMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include"
|
2007-04-05 10:29:24 +02:00
|
|
|
.else
|
2010-01-18 14:15:53 +01:00
|
|
|
CMAKE_ARGS+= -DWITH_V4L:BOOL=Off
|
2007-04-05 10:29:24 +02:00
|
|
|
.endif
|
2005-12-29 04:38:28 +01:00
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(WITH_XINE)
|
2010-01-18 14:15:53 +01:00
|
|
|
LIB_DEPENDS+= xine.1:${PORTSDIR}/multimedia/libxine
|
|
|
|
CMAKE_ARGS+= -DWITH_XINE:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAKE_ARGS+= -DWITH_XINE:BOOL=Off
|
|
|
|
.endif
|
|
|
|
|
2011-08-22 23:10:22 +02:00
|
|
|
.else # defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON)
|
|
|
|
|
|
|
|
. if defined(_BUILDING_OPENCV_CORE)
|
2011-06-29 13:46:01 +02:00
|
|
|
COMMENT= OpenCV core libraries
|
2011-07-21 22:02:41 +02:00
|
|
|
PLIST= ${PKGDIR}/pkg-plist.oc
|
2011-06-29 13:46:01 +02:00
|
|
|
PKGNAMESUFFIX= -core
|
|
|
|
LATEST_LINK= ${PORTNAME}-core
|
|
|
|
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-opencv-core
|
2011-08-22 23:10:22 +02:00
|
|
|
|
|
|
|
. elif defined(_BUILDING_OPENCV_PYTHON)
|
|
|
|
COMMENT= OpenCV Python Library
|
|
|
|
CATEGORIES= graphics python
|
|
|
|
PLIST= ${PKGDIR}/pkg-plist.python
|
|
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
|
|
PKGNAMESUFFIX= # no suffix
|
|
|
|
|
|
|
|
LIB_DEPENDS+= opencv_legacy.2:${PORTSDIR}/graphics/opencv
|
|
|
|
CMAKE_ENV+= LDFLAGS="${LDFLAGS} -L${LOCALBASE}/lib"
|
|
|
|
INSTALL_WRKSRC= ${WRKSRC}/modules/python
|
|
|
|
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-opencv-python
|
|
|
|
|
|
|
|
USE_PYTHON= yes
|
|
|
|
BUILD_DEPENDS+= ${PYNUMPY}
|
|
|
|
RUN_DEPENDS+= ${PYNUMPY}
|
|
|
|
. endif # defined(_BUILDING_OPENCV_PYTHON)
|
|
|
|
CMAKE_ARGS+= -DBUILD_EXAMPLES:BOOL=Off \
|
|
|
|
-DINSTALL_PYTHON_EXAMPLES:BOOL=Off \
|
|
|
|
-DBUILD_TESTS:BOOL=Off \
|
2011-06-29 13:46:01 +02:00
|
|
|
-DDWITH_EIGEN2:BOOL=Off \
|
|
|
|
-DWITH_FFMPEG:BOOL=Off \
|
|
|
|
-DWITH_GSTREAMER:BOOL=Off \
|
|
|
|
-DWITH_GTK:BOOL=Off \
|
|
|
|
-DWITH_JASPER:BOOL=Off \
|
|
|
|
-DWITH_JPEG:BOOL=Off \
|
|
|
|
-DWITH_OPENEXR:BOOL=Off \
|
|
|
|
-DWITH_PNG:BOOL=Off \
|
|
|
|
-DWITH_QT:BOOL=Off \
|
|
|
|
-DWITH_TBB:BOOL=Off \
|
|
|
|
-DWITH_V4L:BOOL=Off \
|
|
|
|
-DWITH_TIFF:BOOL=Off \
|
|
|
|
-DWITH_XINE:BOOL=Off \
|
|
|
|
-DWITH_PVAPI:BOOL=Off \
|
|
|
|
-DWITH_1394:BOOL=Off \
|
|
|
|
-DWITH_CUDA:BOOL=Off
|
2011-08-22 23:10:22 +02:00
|
|
|
.endif # defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON)
|
|
|
|
|
|
|
|
.if defined(_BUILDING_OPENCV_PYTHON)
|
|
|
|
CMAGE_ARGS+= -DBUILD_NEW_PYTHON_SUPPORT:BOOL=On
|
|
|
|
.else
|
|
|
|
CMAGE_ARGS+= -DBUILD_NEW_PYTHON_SUPPORT:BOOL=Off
|
|
|
|
.endif
|
2011-06-29 13:46:01 +02:00
|
|
|
|
2010-08-27 20:16:16 +02:00
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
|
2011-06-29 13:46:01 +02:00
|
|
|
post-patch:
|
2010-01-18 14:15:53 +01:00
|
|
|
@${MKDIR} ${CONFIGURE_WRKSRC}
|
|
|
|
@${REINPLACE_CMD} -e 's:set(OPENCV_SOVERSION.*:set(OPENCV_SOVERSION "$${OPENCV_VERSION_MAJOR}"):' \
|
|
|
|
-e 's:-pthread:${PTHREAD_LIBS}:g' \
|
2011-08-22 23:10:22 +02:00
|
|
|
-e 's:$${OPENCV_LIB_INSTALL_PATH}/pkgconfig:$${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig:g' \
|
|
|
|
-e 's:share/OpenCV/doc:share/doc/opencv:g' \
|
2010-01-18 14:15:53 +01:00
|
|
|
${WRKSRC}/CMakeLists.txt
|
2011-06-29 13:46:01 +02:00
|
|
|
@${REINPLACE_CMD} -e 's|${PORTNAME}/samples|examples/${PORTNAME}|g' \
|
2011-08-22 23:10:22 +02:00
|
|
|
${WRKSRC}/samples/*/CMakeLists.txt \
|
|
|
|
${WRKSRC}/samples/*/*/CMakeLists.txt
|
|
|
|
|
|
|
|
.if defined(_BUILDING_OPENCV_CORE) && !defined(_BUILDING_OPENCV_PYTHON)
|
2011-06-29 13:46:01 +02:00
|
|
|
@${REINPLACE_CMD} -e '/add_subdirectory(data)/ d' \
|
|
|
|
-e '/add_subdirectory(include)/ d' \
|
|
|
|
-e 's|opencv.pc|opencv-core.pc|g' \
|
|
|
|
-e 's|OpenCVConfig.cmake|OpenCVConfig-core.cmake|g' \
|
2011-08-22 23:10:22 +02:00
|
|
|
-e 's|OpenCVConfig-version.cmake|OpenCVConfig-core-version.cmake|g' \
|
2011-07-11 10:28:12 +02:00
|
|
|
-e 's| set(root_files README)||g' \
|
|
|
|
-e 's| install(CODE "exec_program.*||g' \
|
2011-06-29 13:46:01 +02:00
|
|
|
${WRKSRC}/CMakeLists.txt
|
|
|
|
@${SED} -E -e \
|
|
|
|
's|Name:.*|Name: OpenCV-core|' -e \
|
|
|
|
's|Libs:.*|Libs: -L$${libdir} -lopencv_core@OPENCV_DLLVERSION@ -lopencv_imgproc@OPENCV_DLLVERSION@ -lopencv_video@OPENCV_DLLVERSION@ -lopencv_flann@OPENCV_DLLVERSION@|' \
|
|
|
|
${WRKSRC}/opencv.pc.cmake.in > ${WRKSRC}/opencv-core.pc.cmake.in
|
|
|
|
@${SED} -E -e \
|
|
|
|
's| set\(OPENCV_LIB_COMPONENTS .*| set\(OPENCV_LIB_COMPONENTS opencv_core opencv_imgproc opencv_video opencv_ml opencv_flann\)|g' \
|
|
|
|
${WRKSRC}/OpenCVConfig.cmake.in > ${WRKSRC}/OpenCVConfig-core.cmake.in
|
2011-08-22 23:10:22 +02:00
|
|
|
@${LN} -sf OpenCVConfig-version.cmake.in ${WRKSRC}/OpenCVConfig-core-version.cmake.in
|
2011-06-29 13:46:01 +02:00
|
|
|
.endif
|
2011-08-22 23:10:22 +02:00
|
|
|
.if defined(NOPORTDOCS) || defined(_BUILDING_OPENCV_CORE) || defined(_BUILDING_OPENCV_PYTHON)
|
2010-01-18 14:15:53 +01:00
|
|
|
@${REINPLACE_CMD} -e '/add_subdirectory(doc)/ d' \
|
|
|
|
${WRKSRC}/CMakeLists.txt
|
|
|
|
.endif
|
2008-02-01 13:04:04 +01:00
|
|
|
|
2007-04-05 10:29:24 +02:00
|
|
|
.include <bsd.port.post.mk>
|