ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/mports/trunk/graphics/opencv/Makefile
Revision: 24590
Committed: Mon Oct 29 23:14:39 2018 UTC (5 years, 5 months ago) by laffer1
File size: 7759 byte(s)
Log Message:
update to 2.4.10

File Contents

# Content
1 # $MidnightBSD$
2
3 PORTNAME?= opencv
4 PORTVERSION= 2.4.10
5 PORTREVISION?= 0
6 CATEGORIES= graphics
7 MASTER_SITES= SF/${PORTNAME}library/${PORTNAME}-unix/${PORTVERSION}
8
9 MAINTAINER= ports@MidnightBSD.org
10 COMMENT= Open Source Computer Vision library
11
12 LICENSE= bsd3
13 LICENSE_FILE= ${WRKSRC}/LICENSE
14
15 USES= cmake pkgconfig zip
16 USE_LDCONFIG= yes
17 WANT_GSTREAMER= yes
18 MAKE_JOBS_UNSAFE= yes
19
20 DATADIR= ${PREFIX}/share/OpenCV
21 PLIST_SUB+= VERSION=${DISTVERSION}
22
23 CMAKE_ARGS+= -DWITH_CUDA:BOOL=Off \
24 -DWITH_PVAPI:BOOL=Off \
25 -DWITH_UNICAP:BOOL=Off \
26 -DBUILD_TESTS:BOOL=Off \
27 -DBUILD_DOCS:BOOL=Off \
28 -DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_CMD}
29
30 SUB_FILES= FindOpenCVCore.cmake
31 SUB_LIST= OCV_VERSION=${PORTVERSION}
32
33 OCV_CORE_MODS= core imgproc
34 OCV_MODS= calib3d contrib features2d flann gpu \
35 highgui legacy ml ocl objdetect photo \
36 stitching superres ts video videostab
37 OCV_NONFREE_MODS= nonfree
38 OCV_JAVA_MODS= java
39 OCV_PYTHON_MODS= python
40
41 OPTIONS_DEFINE= DC1394 EXAMPLES NONFREE OPENGL
42 OPTIONS_GROUP= IMAGE PERFORMANCE VIDEO
43 OPTIONS_GROUP_IMAGE= JASPER JPEG OPENEXR PNG TIFF
44 OPTIONS_GROUP_PERFORMANCE= EIGEN3 TBB
45 OPTIONS_GROUP_VIDEO= FFMPEG GSTREAMER V4L XINE
46 OPTIONS_RADIO= GUI
47 OPTIONS_RADIO_GUI= GTK2 QT4
48 OPTIONS_DEFAULT= EIGEN3 JASPER JPEG PNG TIFF V4L
49 OPTIONS_SUB= yes
50 .if defined(OCV_CORE)
51 OPTIONS_EXCLUDE= DC1394 EXAMPLES GTK2 QT4 JASPER JPEG NONFREE OPENEXR \
52 OPENGL PNG TIFF FFMPEG GSTREAMER V4L XINE
53 .endif
54
55 DC1394_DESC= IEEE 1394 camera support
56 EIGEN3_DESC= Eigen 3 support
57 IMAGE_DESC= Image format support
58 NONFREE_DESC= Build functionality that has possible limitations of use
59 PERFORMANCE_DESC= Performance enhancing libraries
60 TBB_DESC= TBB support
61
62 .include <bsd.mport.options.mk>
63
64 .if ${PORT_OPTIONS:MDC1394}
65 LIB_DEPENDS+= libdc1394.so:${PORTSDIR}/multimedia/libdc1394
66 CMAKE_ARGS+= -DWITH_1394:BOOL=On
67 .else
68 CMAKE_ARGS+= -DWITH_1394:BOOL=Off
69 .endif
70
71 .if ${PORT_OPTIONS:MEIGEN3}
72 BUILD_DEPENDS+= ${LOCALBASE}/include/eigen3/Eigen/Eigen:${PORTSDIR}/math/eigen3
73 CMAKE_ARGS+= -DWITH_EIGEN:BOOL=On
74 .else
75 CMAKE_ARGS= -DWITH_EIGEN:BOOL=Off
76 .endif
77
78 .if ${PORT_OPTIONS:MEXAMPLES}
79 PORTEXAMPLES= *
80 . if !defined(OCV_SLAVE)
81 CMAKE_ARGS+= -DBUILD_EXAMPLES:BOOL=On \
82 -DINSTALL_C_EXAMPLES:BOOL=On
83 . endif
84 .endif
85
86 .if ${PORT_OPTIONS:MFFMPEG}
87 LIB_DEPENDS+= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
88 CMAKE_ARGS+= -DWITH_FFMPEG:BOOL=On
89 .else
90 CMAKE_ARGS+= -DWITH_FFMPEG:BOOL=Off
91 .endif
92
93 .if ${PORT_OPTIONS:MGSTREAMER}
94 USE_GSTREAMER= yes
95 CMAKE_ARGS+= -DWITH_GSTREAMER:BOOL=On
96 .else
97 CMAKE_ARGS+= -DWITH_GSTREAMER:BOOL=Off
98 .endif
99
100 .if ${PORT_OPTIONS:MGTK2}
101 USE_GNOME+= gtk20
102 CMAKE_ARGS+= -DWITH_GTK:BOOL=On
103 . if ${PORT_OPTIONS:MOPENGL}
104 LIB_DEPENDS+= libgtkglext-x11-1.0.so:${PORTSDIR}/x11-toolkits/gtkglext
105 . endif
106 .else
107 CMAKE_ARGS+= -DWITH_GTK:BOOL=Off
108 .endif
109
110 .if ${PORT_OPTIONS:MJASPER}
111 LIB_DEPENDS+= libjasper.so:${PORTSDIR}/graphics/jasper
112 CMAKE_ARGS+= -DWITH_JASPER:BOOL=On
113 .else
114 CMAKE_ARGS+= -DWITH_JASPER:BOOL=Off
115 .endif
116
117 .if ${PORT_OPTIONS:MJPEG}
118 LIB_DEPENDS+= libjpeg.so:${PORTSDIR}/graphics/jpeg
119 CMAKE_ARGS+= -DWITH_JPEG:BOOL=On
120 .else
121 CMAKE_ARGS+= -DWITH_JPEG:BOOL=Off
122 .endif
123
124 .if ${PORT_OPTIONS:MNONFREE}
125 CMAKE_ARGS+= -DBUILD_opencv_nonfree:BOOL=On
126 .else
127 CMAKE_ARGS+= -DBUILD_opencv_nonfree:BOOL=Off
128 .endif
129
130 .if ${PORT_OPTIONS:MOPENEXR}
131 LIB_DEPENDS+= libIlmImf.so:${PORTSDIR}/graphics/OpenEXR
132 CMAKE_ARGS+= -DWITH_OPENEXR:BOOL=On
133 .else
134 CMAKE_ARGS+= -DWITH_OPENEXR:BOOL=Off
135 .endif
136
137 .if ${PORT_OPTIONS:MOPENGL}
138 CMAKE_ARGS+= -DWITH_OPENGL:BOOL=On
139 .else
140 CMAKE_ARGS+= -DWITH_OPENGL:BOOL=Off
141 .endif
142
143 .if ${PORT_OPTIONS:MPNG}
144 LIB_DEPENDS+= libpng.so:${PORTSDIR}/graphics/png
145 CMAKE_ARGS+= -DWITH_PNG:BOOL=On
146 .else
147 CMAKE_ARGS+= -DWITH_PNG:BOOL=Off
148 .endif
149
150 .if ${PORT_OPTIONS:MQT4}
151 USE_QT4+= gui moc_build qmake_build rcc_build uic_build qtestlib
152 CMAKE_ARGS+= -DWITH_QT:STRING="4"
153 . if ${PORT_OPTIONS:MOPENGL}
154 USE_QT4+= opengl
155 . endif
156 .else
157 CMAKE_ARGS+= -DWITH_QT:BOOL=Off
158 .endif
159
160 .if ${PORT_OPTIONS:MTBB}
161 LIB_DEPENDS+= libtbb.so:${PORTSDIR}/devel/tbb
162 CMAKE_ARGS+= -DWITH_TBB:BOOL=On \
163 -DTBB_INCLUDE_DIR:STRING="${LOCALBASE}/include"
164 .else
165 CMAKE_ARGS+= -DWITH_TBB:BOOL=Off
166 .endif
167
168 .if ${PORT_OPTIONS:MTIFF}
169 LIB_DEPENDS+= libtiff.so:${PORTSDIR}/graphics/tiff
170 CMAKE_ARGS+= -DWITH_TIFF:BOOL=On
171 .else
172 CMAKE_ARGS+= -DWITH_TIFF:BOOL=Off
173 .endif
174
175 .if ${PORT_OPTIONS:MV4L}
176 LIB_DEPENDS+= libv4l2.so:${PORTSDIR}/multimedia/libv4l
177 BUILD_DEPENDS+= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
178 CMAKE_ARGS+= -DWITH_V4L:BOOL=On \
179 -DCMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include"
180 .else
181 CMAKE_ARGS+= -DWITH_V4L:BOOL=Off
182 .endif
183
184 .if ${PORT_OPTIONS:MXINE}
185 LIB_DEPENDS+= libxine.so:${PORTSDIR}/multimedia/libxine
186 CMAKE_ARGS+= -DWITH_XINE:BOOL=On
187 .else
188 CMAKE_ARGS+= -DWITH_XINE:BOOL=Off
189 .endif
190
191 .if defined(OCV_CORE)
192 . for module in ${OCV_MODS} ${OCV_JAVA_MODS} ${OCV_PYTHON_MODS}
193 CMAKE_ARGS+= -DBUILD_opencv_${module}:BOOL=Off
194 . endfor
195 .elif defined(OCV_PYTHON)
196 LIB_DEPENDS+= libopencv_legacy.so:${PORTSDIR}/graphics/opencv
197 BUILD_DEPENDS+= ${PYNUMPY}
198 RUN_DEPENDS+= ${PYNUMPY}
199 USES+= python
200 CMAKE_ARGS+= -DBUILD_opencv_python:BOOL=On
201 . for module in apps java stitching superres videostab
202 CMAKE_ARGS+= -DBUILD_opencv_${module}:BOOL=Off
203 . endfor
204 INSTALL_WRKSRC= ${WRKSRC}/modules/python
205 .elif defined(OCV_JAVA)
206 BUILD_DEPENDS+= ant:${PORTSDIR}/devel/apache-ant
207 LIB_DEPENDS+= libopencv_legacy.so:${PORTSDIR}/graphics/opencv
208 USES+= python:build
209 USE_JAVA= yes
210 CMAKE_ARGS+= -DBUILD_opencv_java:BOOL=On
211 . for module in apps python stitching superres videostab
212 CMAKE_ARGS+= -DBUILD_opencv_${module}:BOOL=Off
213 . endfor
214 CMAKE_ENV+= JAVA_HOME="${JAVA_HOME}"
215 INSTALL_WRKSRC= ${WRKSRC}/modules/java
216 .else
217 LIB_DEPENDS+= libopencv_core.so:${PORTSDIR}/graphics/opencv-core
218 . for module in ${OCV_JAVA_MODS} ${OCV_PYTHON_MODS}
219 CMAKE_ARGS+= -DBUILD_opencv_${module}:BOOL=Off
220 . endfor
221 .endif
222
223 post-patch:
224 @${MKDIR} ${CONFIGURE_WRKSRC}
225 @${REINPLACE_CMD} -e '/pkgconfig/s|$${OPENCV_LIB_INSTALL_PATH}|libdata|' \
226 ${WRKSRC}/cmake/OpenCVGenPkgconfig.cmake
227 @${REINPLACE_CMD} -e 's|share/OpenCV/doc|${DOCSDIR_REL}|g' \
228 -e 's|share/OpenCV/samples|${EXAMPLESDIR_REL}|g' \
229 -e 's/FreeBSD|NetBSD|DragonFly/MidnightBSD|FreeBSD/g' \
230 ${WRKSRC}/CMakeLists.txt
231 @${FIND} ${WRKSRC} -name '*.orig' -exec ${RM} {} \;
232 .if defined(OCV_CORE)
233 @${REINPLACE_CMD} -e 's|opencv.pc|opencv-core.pc|g' \
234 ${WRKSRC}/cmake/OpenCVGenPkgconfig.cmake
235 @${REINPLACE_CMD} -e 's|Name:.*|Name: OpenCV-core|' \
236 ${WRKSRC}/cmake/templates/opencv-XXX.pc.in
237 .endif
238 .if defined(OCV_SLAVE)
239 @${REINPLACE_CMD} -e 's|add_subdirectory(data)||g' \
240 ${WRKSRC}/CMakeLists.txt
241 .endif
242
243 post-install:
244 .if !defined(OCV_SLAVE)
245 (cd ${STAGEDIR}${PREFIX} && \
246 ${RM} -r include/opencv2/core include/opencv2/imgproc \
247 lib/libopencv_core* lib/libopencv_imgproc*)
248 .endif
249 .if defined(OCV_CORE)
250 ${RM} -r ${STAGEDIR}${PREFIX}/include/opencv
251 ${RM} -r ${STAGEDIR}${DATADIR}
252 ${MKDIR} ${STAGEDIR}${PREFIX}/share/cmake/Modules
253 ${INSTALL_DATA} ${WRKDIR}/FindOpenCVCore.cmake ${STAGEDIR}${PREFIX}/share/cmake/Modules
254 .endif
255 .if defined(OCV_PYTHON)
256 (cd ${STAGEDIR}${PREFIX} && \
257 ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
258 -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/||} && \
259 ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
260 -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S|${PREFIX}/||})
261 ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
262 . if defined(PYTHON_REL) && ${PYTHON_REL} >= 300
263 cd ${WRKSRC}/samples/python && \
264 ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/python
265 . else
266 cd ${WRKSRC}/samples/python2 && \
267 ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/python2
268 . endif
269 .endif
270 .if defined(OCV_JAVA)
271 ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
272 cd ${WRKSRC}/samples/java && \
273 ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}/java
274 .endif
275
276 .include <bsd.port.mk>

Properties

Name Value
svn:keywords MidnightBSD=%H