summaryrefslogtreecommitdiff
path: root/graphics/opencv-contrib-face/Makefile
blob: e482ab5b8f7a6e0c417a54aac012e91be24ec432 (plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# $NetBSD: Makefile,v 1.13 2018/03/02 16:26:21 fhajny Exp $

DISTNAME=	opencv_contrib-3.4.1
PKGNAME=	${DISTNAME:S/_contrib/-contrib-face/}
CATEGORIES=	graphics devel
MASTER_SITES=	${MASTER_SITE_GITHUB:=Itseez/}
EXTRACT_SUFX=	.zip
GITHUB_PROJECT=	opencv_contrib

MAINTAINER=	markd@NetBSD.org
HOMEPAGE=	https://github.com/opencv/opencv/wiki
COMMENT=	OpenCV face recognition contributed module
LICENSE=	modified-bsd

DISTFILES=	${DEFAULT_DISTFILES} opencv-${PKGVERSION_NOREV}.zip

USE_CMAKE=		yes
USE_LANGUAGES=		c c++11
USE_LIBTOOL=		yes
USE_PKGLOCALEDIR=	yes
USE_TOOLS+=		gmake pkg-config

# This is ugly, but we shouldn't let optional code download
# at configure time. Especially when it needs to be patched
# because of lame coding.
SUBST_CLASSES+=		tnn
SUBST_FILES.tnn=	${WRKDIR}/${DISTNAME}/modules/dnn_modern/CMakeLists.txt
SUBST_MESSAGE.tnn=	Disabling build-time fetch
SUBST_STAGE.tnn=	pre-configure
SUBST_SED.tnn=		-e 's,3.2,999,'

INSTALL_DIRS=	build/modules/face build/modules/plot build/modules/tracking

WRKSRC=		${WRKDIR}/opencv-${PKGVERSION_NOREV}/

PATCHDIR=	${.CURDIR}/../../graphics/opencv/patches

CMAKE_ARGS+=	-D WITH_FFMPEG=OFF
CMAKE_ARGS+=	-D BUILD_DOCS=OFF

# jasper uses SIZE_MAX and friends in its headers.
CXXFLAGS+=		-D__STDC_LIMIT_MACROS

CMAKE_ARGS+=		-DZLIB_ROOT=${BUILDLINK_PREFIX.zlib}
CMAKE_ARGS.SunOS+=	-DENABLE_PRECOMPILED_HEADERS=NO
CMAKE_ARGS+=		-DWITH_EIGEN=NO

CMAKE_ARGS+=		-DOPENCV_EXTRA_MODULES_PATH=${WRKDIR}/${DISTNAME}/modules
CMAKE_ARGS+=		-DBUILD_opencv_adas=OFF
CMAKE_ARGS+=		-DBUILD_opencv_bgsegm=OFF
CMAKE_ARGS+=		-DBUILD_opencv_bioinspired=OFF
CMAKE_ARGS+=		-DBUILD_opencv_ccalib=OFF
CMAKE_ARGS+=		-DBUILD_opencv_contrib_world=OFF
CMAKE_ARGS+=		-DBUILD_opencv_cvv=OFF
CMAKE_ARGS+=		-DBUILD_opencv_datasets=OFF
CMAKE_ARGS+=		-DBUILD_opencv_hdf=OFF
CMAKE_ARGS+=		-DBUILD_opencv_latentsvm=OFF
CMAKE_ARGS+=		-DBUILD_opencv_line_descriptor=OFF
CMAKE_ARGS+=		-DBUILD_opencv_matlab=OFF
CMAKE_ARGS+=		-DBUILD_opencv_optflow=OFF
CMAKE_ARGS+=		-DBUILD_opencv_reg=OFF
CMAKE_ARGS+=		-DBUILD_opencv_rgbd=OFF
CMAKE_ARGS+=		-DBUILD_opencv_saliency=OFF
CMAKE_ARGS+=		-DBUILD_opencv_surface_matching=OFF
CMAKE_ARGS+=		-DBUILD_opencv_text=OFF
CMAKE_ARGS+=		-DBUILD_opencv_xfeatures2d=OFF
CMAKE_ARGS+=		-DBUILD_opencv_ximgproc=OFF
CMAKE_ARGS+=		-DBUILD_opencv_xobjdetect=OFF
CMAKE_ARGS+=		-DBUILD_opencv_xphoto=OFF

CMAKE_ARGS+=		-DBUILD_opencv_flann=OFF
CMAKE_ARGS+=		-DBUILD_opencv_videoio=OFF
CMAKE_ARGS+=		-DBUILD_opencv_highgui=OFF
CMAKE_ARGS+=		-DBUILD_opencv_superres=OFF
CMAKE_ARGS+=		-DBUILD_opencv_ts=OFF
CMAKE_ARGS+=		-DBUILD_opencv_features2d=OFF
CMAKE_ARGS+=		-DBUILD_opencv_calib3d=OFF
CMAKE_ARGS+=		-DBUILD_opencv_stitching=OFF
CMAKE_ARGS+=		-DBUILD_opencv_videostab=OFF
CMAKE_ARGS+=		-DBUILD_opencv_python2=OFF

# At least as of 3.4.1, these are dependencies of the 'face' module
# and need to be built and installed ('photo' and 'video' are
# part of the main opencv package already
#CMAKE_ARGS+=		-DBUILD_opencv_photo=OFF
#CMAKE_ARGS+=		-DBUILD_opencv_plot=OFF
#CMAKE_ARGS+=		-DBUILD_opencv_tracking=OFF
#CMAKE_ARGS+=		-DBUILD_opencv_video=OFF

CONFIGURE_ENV+=		MACHINE_ARCH=${MACHINE_ARCH}

CONFIGURE_DIRS+=	build
CMAKE_ARG_PATH=		${WRKSRC}

pre-configure:
	${MKDIR} -p ${WRKSRC}/build

.include "../../devel/zlib/buildlink3.mk"
.include "../../graphics/jasper/buildlink3.mk"
.include "../../graphics/libwebp/buildlink3.mk"
BUILDLINK_API_DEPENDS.opencv+=	opencv>=${PKGVERSION_NOREV}
.include "../../graphics/opencv/buildlink3.mk"
.include "../../graphics/openexr/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"