1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# opencv3 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunOPENCV3_VERSION = 3.4.15 8*4882a593SmuzhiyunOPENCV3_SITE = $(call github,opencv,opencv,$(OPENCV3_VERSION)) 9*4882a593SmuzhiyunOPENCV3_INSTALL_STAGING = YES 10*4882a593SmuzhiyunOPENCV3_LICENSE = BSD-3-Clause 11*4882a593SmuzhiyunOPENCV3_LICENSE_FILES = LICENSE 12*4882a593SmuzhiyunOPENCV3_CPE_ID_VENDOR = opencv 13*4882a593SmuzhiyunOPENCV3_CPE_ID_PRODUCT = opencv 14*4882a593SmuzhiyunOPENCV3_SUPPORTS_IN_SOURCE_BUILD = NO 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunOPENCV3_CXXFLAGS = $(TARGET_CXXFLAGS) 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun# Uses __atomic_fetch_add_4 19*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 20*4882a593SmuzhiyunOPENCV3_CXXFLAGS += -latomic 21*4882a593Smuzhiyunendif 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun# Fix c++11 build with missing std::exception_ptr 24*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y) 25*4882a593SmuzhiyunOPENCV3_CXXFLAGS += -DCV__EXCEPTION_PTR=0 26*4882a593Smuzhiyunendif 27*4882a593Smuzhiyun 28*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y) 29*4882a593SmuzhiyunOPENCV3_CXXFLAGS += -O0 30*4882a593Smuzhiyunendif 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun# OpenCV component options 33*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 34*4882a593Smuzhiyun -DCMAKE_CXX_FLAGS="$(OPENCV3_CXXFLAGS)" \ 35*4882a593Smuzhiyun -DBUILD_DOCS=OFF \ 36*4882a593Smuzhiyun -DBUILD_PERF_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),ON,OFF) \ 37*4882a593Smuzhiyun -DBUILD_TESTS=$(if $(BR2_PACKAGE_OPENCV3_BUILD_TESTS),ON,OFF) \ 38*4882a593Smuzhiyun -DBUILD_WITH_DEBUG_INFO=OFF \ 39*4882a593Smuzhiyun -DDOWNLOAD_EXTERNAL_TEST_DATA=OFF \ 40*4882a593Smuzhiyun -DOPENCV_ENABLE_PKG_CONFIG=ON 41*4882a593Smuzhiyun 42*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_BUILD_TESTS)$(BR2_PACKAGE_OPENCV3_BUILD_PERF_TESTS),) 43*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DINSTALL_TEST=OFF 44*4882a593Smuzhiyunelse 45*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DINSTALL_TEST=ON 46*4882a593Smuzhiyunendif 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun# OpenCV build options 49*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 50*4882a593Smuzhiyun -DBUILD_WITH_STATIC_CRT=OFF \ 51*4882a593Smuzhiyun -DENABLE_CCACHE=OFF \ 52*4882a593Smuzhiyun -DENABLE_COVERAGE=OFF \ 53*4882a593Smuzhiyun -DENABLE_FAST_MATH=ON \ 54*4882a593Smuzhiyun -DENABLE_IMPL_COLLECTION=OFF \ 55*4882a593Smuzhiyun -DENABLE_NOISY_WARNINGS=OFF \ 56*4882a593Smuzhiyun -DENABLE_OMIT_FRAME_POINTER=ON \ 57*4882a593Smuzhiyun -DENABLE_PRECOMPILED_HEADERS=OFF \ 58*4882a593Smuzhiyun -DENABLE_PROFILING=OFF \ 59*4882a593Smuzhiyun -DOPENCV_WARNINGS_ARE_ERRORS=OFF 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun# OpenCV link options 62*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 63*4882a593Smuzhiyun -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ 64*4882a593Smuzhiyun -DCMAKE_SKIP_RPATH=OFF \ 65*4882a593Smuzhiyun -DCMAKE_USE_RELATIVE_PATHS=OFF 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun# OpenCV packaging options: 68*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 69*4882a593Smuzhiyun -DBUILD_PACKAGE=OFF \ 70*4882a593Smuzhiyun -DENABLE_SOLUTION_FOLDERS=OFF \ 71*4882a593Smuzhiyun -DINSTALL_CREATE_DISTRIB=OFF 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun# OpenCV module selection 74*4882a593Smuzhiyun# * Modules on: 75*4882a593Smuzhiyun# - core: if not set, opencv does not build anything 76*4882a593Smuzhiyun# - hal: core's dependency 77*4882a593Smuzhiyun# * Modules off: 78*4882a593Smuzhiyun# - android*: android stuff 79*4882a593Smuzhiyun# - apps: programs for training classifiers 80*4882a593Smuzhiyun# - java: java bindings 81*4882a593Smuzhiyun# - viz: missing VTK dependency 82*4882a593Smuzhiyun# - world: all-in-one module 83*4882a593Smuzhiyun# 84*4882a593Smuzhiyun# * Contrib modules from [1] are disabled: 85*4882a593Smuzhiyun# - opencv_contrib package is not available in Buildroot; 86*4882a593Smuzhiyun# - OPENCV3_EXTRA_MODULES_PATH is not set. 87*4882a593Smuzhiyun# 88*4882a593Smuzhiyun# [1] https://github.com/Itseez/opencv_contrib 89*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 90*4882a593Smuzhiyun -DBUILD_opencv_androidcamera=OFF \ 91*4882a593Smuzhiyun -DBUILD_opencv_apps=OFF \ 92*4882a593Smuzhiyun -DBUILD_opencv_calib3d=$(if $(BR2_PACKAGE_OPENCV3_LIB_CALIB3D),ON,OFF) \ 93*4882a593Smuzhiyun -DBUILD_opencv_core=ON \ 94*4882a593Smuzhiyun -DBUILD_opencv_features2d=$(if $(BR2_PACKAGE_OPENCV3_LIB_FEATURES2D),ON,OFF) \ 95*4882a593Smuzhiyun -DBUILD_opencv_flann=$(if $(BR2_PACKAGE_OPENCV3_LIB_FLANN),ON,OFF) \ 96*4882a593Smuzhiyun -DBUILD_opencv_highgui=$(if $(BR2_PACKAGE_OPENCV3_LIB_HIGHGUI),ON,OFF) \ 97*4882a593Smuzhiyun -DBUILD_opencv_imgcodecs=$(if $(BR2_PACKAGE_OPENCV3_LIB_IMGCODECS),ON,OFF) \ 98*4882a593Smuzhiyun -DBUILD_opencv_imgproc=$(if $(BR2_PACKAGE_OPENCV3_LIB_IMGPROC),ON,OFF) \ 99*4882a593Smuzhiyun -DBUILD_opencv_java=OFF \ 100*4882a593Smuzhiyun -DBUILD_opencv_ml=$(if $(BR2_PACKAGE_OPENCV3_LIB_ML),ON,OFF) \ 101*4882a593Smuzhiyun -DBUILD_opencv_objdetect=$(if $(BR2_PACKAGE_OPENCV3_LIB_OBJDETECT),ON,OFF) \ 102*4882a593Smuzhiyun -DBUILD_opencv_photo=$(if $(BR2_PACKAGE_OPENCV3_LIB_PHOTO),ON,OFF) \ 103*4882a593Smuzhiyun -DBUILD_opencv_shape=$(if $(BR2_PACKAGE_OPENCV3_LIB_SHAPE),ON,OFF) \ 104*4882a593Smuzhiyun -DBUILD_opencv_stitching=$(if $(BR2_PACKAGE_OPENCV3_LIB_STITCHING),ON,OFF) \ 105*4882a593Smuzhiyun -DBUILD_opencv_superres=$(if $(BR2_PACKAGE_OPENCV3_LIB_SUPERRES),ON,OFF) \ 106*4882a593Smuzhiyun -DBUILD_opencv_ts=$(if $(BR2_PACKAGE_OPENCV3_LIB_TS),ON,OFF) \ 107*4882a593Smuzhiyun -DBUILD_opencv_video=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEO),ON,OFF) \ 108*4882a593Smuzhiyun -DBUILD_opencv_videoio=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEOIO),ON,OFF) \ 109*4882a593Smuzhiyun -DBUILD_opencv_videostab=$(if $(BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB),ON,OFF) \ 110*4882a593Smuzhiyun -DBUILD_opencv_viz=OFF \ 111*4882a593Smuzhiyun -DBUILD_opencv_world=OFF 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun# Hardware support options. 114*4882a593Smuzhiyun# 115*4882a593Smuzhiyun# * PowerPC and VFPv3 support are turned off since their only effects 116*4882a593Smuzhiyun# are altering CFLAGS, adding '-mcpu=G3 -mtune=G5' or '-mfpu=vfpv3' 117*4882a593Smuzhiyun# to them, which is already handled by Buildroot. 118*4882a593Smuzhiyun# * NEON logic is needed as it is not only used to add CFLAGS, but 119*4882a593Smuzhiyun# also to enable additional NEON code. 120*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 121*4882a593Smuzhiyun -DENABLE_POWERPC=OFF \ 122*4882a593Smuzhiyun -DENABLE_NEON=$(if $(BR2_ARM_CPU_HAS_NEON),ON,OFF) \ 123*4882a593Smuzhiyun -DENABLE_VFPV3=OFF 124*4882a593Smuzhiyun 125*4882a593Smuzhiyun# Cuda stuff 126*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 127*4882a593Smuzhiyun -DBUILD_CUDA_STUBS=OFF \ 128*4882a593Smuzhiyun -DBUILD_opencv_cudaarithm=OFF \ 129*4882a593Smuzhiyun -DBUILD_opencv_cudabgsegm=OFF \ 130*4882a593Smuzhiyun -DBUILD_opencv_cudacodec=OFF \ 131*4882a593Smuzhiyun -DBUILD_opencv_cudafeatures2d=OFF \ 132*4882a593Smuzhiyun -DBUILD_opencv_cudafilters=OFF \ 133*4882a593Smuzhiyun -DBUILD_opencv_cudaimgproc=OFF \ 134*4882a593Smuzhiyun -DBUILD_opencv_cudalegacy=OFF \ 135*4882a593Smuzhiyun -DBUILD_opencv_cudaobjdetect=OFF \ 136*4882a593Smuzhiyun -DBUILD_opencv_cudaoptflow=OFF \ 137*4882a593Smuzhiyun -DBUILD_opencv_cudastereo=OFF \ 138*4882a593Smuzhiyun -DBUILD_opencv_cudawarping=OFF \ 139*4882a593Smuzhiyun -DBUILD_opencv_cudev=OFF \ 140*4882a593Smuzhiyun -DWITH_CUBLAS=OFF \ 141*4882a593Smuzhiyun -DWITH_CUDA=OFF \ 142*4882a593Smuzhiyun -DWITH_CUFFT=OFF 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun# NVidia stuff 145*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_NVCUVID=OFF 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun# AMD stuff 148*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 149*4882a593Smuzhiyun -DWITH_OPENCLAMDBLAS=OFF \ 150*4882a593Smuzhiyun -DWITH_OPENCLAMDFFT=OFF 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun# Intel stuff 153*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 154*4882a593Smuzhiyun -DBUILD_WITH_DYNAMIC_IPP=OFF \ 155*4882a593Smuzhiyun -DWITH_INTELPERC=OFF \ 156*4882a593Smuzhiyun -DWITH_IPP=OFF \ 157*4882a593Smuzhiyun -DWITH_IPP_A=OFF \ 158*4882a593Smuzhiyun -DWITH_TBB=OFF 159*4882a593Smuzhiyun 160*4882a593Smuzhiyun# Smartek stuff 161*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_GIGEAPI=OFF 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun# Prosilica stuff 164*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_PVAPI=OFF 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun# Ximea stuff 167*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_XIMEA=OFF 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun# Non-Linux support (Android options) must remain OFF: 170*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 171*4882a593Smuzhiyun -DANDROID=OFF \ 172*4882a593Smuzhiyun -DBUILD_ANDROID_CAMERA_WRAPPER=OFF \ 173*4882a593Smuzhiyun -DBUILD_ANDROID_EXAMPLES=OFF \ 174*4882a593Smuzhiyun -DBUILD_ANDROID_SERVICE=OFF \ 175*4882a593Smuzhiyun -DBUILD_FAT_JAVA_LIB=OFF \ 176*4882a593Smuzhiyun -DINSTALL_ANDROID_EXAMPLES=OFF \ 177*4882a593Smuzhiyun -DWITH_ANDROID_CAMERA=OFF 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun# Non-Linux support (Mac OSX options) must remain OFF: 180*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 181*4882a593Smuzhiyun -DWITH_AVFOUNDATION=OFF \ 182*4882a593Smuzhiyun -DWITH_CARBON=OFF \ 183*4882a593Smuzhiyun -DWITH_QUICKTIME=OFF 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun# Non-Linux support (Windows options) must remain OFF: 186*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 187*4882a593Smuzhiyun -DWITH_CSTRIPES=OFF \ 188*4882a593Smuzhiyun -DWITH_DSHOW=OFF \ 189*4882a593Smuzhiyun -DWITH_MSMF=OFF \ 190*4882a593Smuzhiyun -DWITH_VFW=OFF \ 191*4882a593Smuzhiyun -DWITH_VIDEOINPUT=OFF \ 192*4882a593Smuzhiyun -DWITH_WIN32UI=OFF 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun# Software/3rd-party support options: 195*4882a593Smuzhiyun# - disable all examples 196*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 197*4882a593Smuzhiyun -DBUILD_EXAMPLES=OFF \ 198*4882a593Smuzhiyun -DBUILD_JASPER=OFF \ 199*4882a593Smuzhiyun -DBUILD_JPEG=OFF \ 200*4882a593Smuzhiyun -DBUILD_OPENEXR=OFF \ 201*4882a593Smuzhiyun -DBUILD_PNG=OFF \ 202*4882a593Smuzhiyun -DBUILD_PROTOBUF=OFF \ 203*4882a593Smuzhiyun -DBUILD_TIFF=OFF \ 204*4882a593Smuzhiyun -DBUILD_ZLIB=OFF \ 205*4882a593Smuzhiyun -DINSTALL_C_EXAMPLES=OFF \ 206*4882a593Smuzhiyun -DINSTALL_PYTHON_EXAMPLES=OFF \ 207*4882a593Smuzhiyun -DINSTALL_TO_MANGLED_PATHS=OFF 208*4882a593Smuzhiyun 209*4882a593Smuzhiyun# Disabled features (mostly because they are not available in Buildroot), but 210*4882a593Smuzhiyun# - eigen: OpenCV does not use it, not take any benefit from it. 211*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 212*4882a593Smuzhiyun -DWITH_1394=OFF \ 213*4882a593Smuzhiyun -DWITH_CLP=OFF \ 214*4882a593Smuzhiyun -DWITH_EIGEN=OFF \ 215*4882a593Smuzhiyun -DWITH_GDAL=OFF \ 216*4882a593Smuzhiyun -DWITH_GPHOTO2=OFF \ 217*4882a593Smuzhiyun -DWITH_GSTREAMER_0_10=OFF \ 218*4882a593Smuzhiyun -DWITH_LAPACK=OFF \ 219*4882a593Smuzhiyun -DWITH_MATLAB=OFF \ 220*4882a593Smuzhiyun -DWITH_OPENCL=OFF \ 221*4882a593Smuzhiyun -DWITH_OPENCL_SVM=OFF \ 222*4882a593Smuzhiyun -DWITH_OPENEXR=OFF \ 223*4882a593Smuzhiyun -DWITH_OPENNI2=OFF \ 224*4882a593Smuzhiyun -DWITH_OPENNI=OFF \ 225*4882a593Smuzhiyun -DWITH_UNICAP=OFF \ 226*4882a593Smuzhiyun -DWITH_VA=OFF \ 227*4882a593Smuzhiyun -DWITH_VA_INTEL=OFF \ 228*4882a593Smuzhiyun -DWITH_VTK=OFF \ 229*4882a593Smuzhiyun -DWITH_XINE=OFF 230*4882a593Smuzhiyun 231*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += host-pkgconf zlib 232*4882a593Smuzhiyun 233*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_FFMPEG),y) 234*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_FFMPEG=ON 235*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += ffmpeg bzip2 236*4882a593Smuzhiyunelse 237*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_FFMPEG=OFF 238*4882a593Smuzhiyunendif 239*4882a593Smuzhiyun 240*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_GSTREAMER1),y) 241*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_GSTREAMER=ON 242*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += gstreamer1 gst1-plugins-base 243*4882a593Smuzhiyunelse 244*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_GSTREAMER=OFF 245*4882a593Smuzhiyunendif 246*4882a593Smuzhiyun 247*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_GTK)$(BR2_PACKAGE_OPENCV3_WITH_GTK3),) 248*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_GTK=OFF -DWITH_GTK_2_X=OFF 249*4882a593Smuzhiyunendif 250*4882a593Smuzhiyun 251*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_GTK),y) 252*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=ON 253*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += libgtk2 254*4882a593Smuzhiyunendif 255*4882a593Smuzhiyun 256*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_GTK3),y) 257*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_GTK=ON -DWITH_GTK_2_X=OFF 258*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += libgtk3 259*4882a593Smuzhiyunendif 260*4882a593Smuzhiyun 261*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_JASPER),y) 262*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_JASPER=ON 263*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += jasper 264*4882a593Smuzhiyunelse 265*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_JASPER=OFF 266*4882a593Smuzhiyunendif 267*4882a593Smuzhiyun 268*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_JPEG),y) 269*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_JPEG=ON 270*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += jpeg 271*4882a593Smuzhiyunelse 272*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_JPEG=OFF 273*4882a593Smuzhiyunendif 274*4882a593Smuzhiyun 275*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_OPENGL),y) 276*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_OPENGL=ON 277*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += libgl 278*4882a593Smuzhiyunelse 279*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_OPENGL=OFF 280*4882a593Smuzhiyunendif 281*4882a593Smuzhiyun 282*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_OPENMP=$(if $(BR2_TOOLCHAIN_HAS_OPENMP),ON,OFF) 283*4882a593Smuzhiyun 284*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_PNG),y) 285*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_PNG=ON 286*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += libpng 287*4882a593Smuzhiyunelse 288*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_PNG=OFF 289*4882a593Smuzhiyunendif 290*4882a593Smuzhiyun 291*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_PROTOBUF),y) 292*4882a593Smuzhiyun# protobuf needs c++11 (since 3.6.0) 293*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 294*4882a593Smuzhiyun -DENABLE_CXX11=ON \ 295*4882a593Smuzhiyun -DPROTOBUF_UPDATE_FILES=ON \ 296*4882a593Smuzhiyun -DWITH_PROTOBUF=ON 297*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += protobuf 298*4882a593Smuzhiyunelse 299*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_PROTOBUF=OFF 300*4882a593Smuzhiyunendif 301*4882a593Smuzhiyun 302*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_QT5),y) 303*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_QT=5 304*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += qt5base 305*4882a593Smuzhiyunelse 306*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_QT=OFF 307*4882a593Smuzhiyunendif 308*4882a593Smuzhiyun 309*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_TIFF),y) 310*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_TIFF=ON 311*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += tiff 312*4882a593Smuzhiyunelse 313*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_TIFF=OFF 314*4882a593Smuzhiyunendif 315*4882a593Smuzhiyun 316*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_V4L),y) 317*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 318*4882a593Smuzhiyun -DWITH_LIBV4L=$(if $(BR2_PACKAGE_LIBV4L),ON,OFF) \ 319*4882a593Smuzhiyun -DWITH_V4L=ON 320*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBV4L),libv4l) 321*4882a593Smuzhiyunelse 322*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_V4L=OFF -DWITH_LIBV4L=OFF 323*4882a593Smuzhiyunendif 324*4882a593Smuzhiyun 325*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_WITH_WEBP),y) 326*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_WEBP=ON 327*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += webp 328*4882a593Smuzhiyunelse 329*4882a593SmuzhiyunOPENCV3_CONF_OPTS += -DWITH_WEBP=OFF 330*4882a593Smuzhiyunendif 331*4882a593Smuzhiyun 332*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENCV3_LIB_PYTHON),y) 333*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 334*4882a593Smuzhiyun -DBUILD_opencv_python2=OFF \ 335*4882a593Smuzhiyun -DBUILD_opencv_python3=ON \ 336*4882a593Smuzhiyun -DPYTHON3_EXECUTABLE=$(HOST_DIR)/bin/python3 \ 337*4882a593Smuzhiyun -DPYTHON3_INCLUDE_PATH=$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION_MAJOR) \ 338*4882a593Smuzhiyun -DPYTHON3_LIBRARIES=$(STAGING_DIR)/usr/lib/libpython$(PYTHON3_VERSION_MAJOR).so \ 339*4882a593Smuzhiyun -DPYTHON3_NUMPY_INCLUDE_DIRS=$(STAGING_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/numpy/core/include \ 340*4882a593Smuzhiyun -DPYTHON3_PACKAGES_PATH=/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages \ 341*4882a593Smuzhiyun -DPYTHON3_NUMPY_VERSION=$(PYTHON_NUMPY_VERSION) 342*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += python3 343*4882a593SmuzhiyunOPENCV3_KEEP_PY_FILES += usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/cv2/config*.py 344*4882a593SmuzhiyunOPENCV3_CONF_ENV += $(PKG_PYTHON_DISTUTILS_ENV) 345*4882a593SmuzhiyunOPENCV3_DEPENDENCIES += python-numpy 346*4882a593Smuzhiyunelse 347*4882a593SmuzhiyunOPENCV3_CONF_OPTS += \ 348*4882a593Smuzhiyun -DBUILD_opencv_python2=OFF \ 349*4882a593Smuzhiyun -DBUILD_opencv_python3=OFF 350*4882a593Smuzhiyunendif 351*4882a593Smuzhiyun 352*4882a593Smuzhiyun# Installation hooks: 353*4882a593Smuzhiyundefine OPENCV3_CLEAN_INSTALL_LICENSE 354*4882a593Smuzhiyun $(RM) -fr $(TARGET_DIR)/usr/share/licenses/opencv3 355*4882a593Smuzhiyunendef 356*4882a593SmuzhiyunOPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_LICENSE 357*4882a593Smuzhiyun 358*4882a593Smuzhiyundefine OPENCV3_CLEAN_INSTALL_CMAKE 359*4882a593Smuzhiyun $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/OpenCV*.cmake 360*4882a593Smuzhiyunendef 361*4882a593SmuzhiyunOPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_CMAKE 362*4882a593Smuzhiyun 363*4882a593Smuzhiyundefine OPENCV3_CLEAN_INSTALL_VALGRIND 364*4882a593Smuzhiyun $(RM) -f $(TARGET_DIR)/usr/share/OpenCV/valgrind* 365*4882a593Smuzhiyunendef 366*4882a593SmuzhiyunOPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_VALGRIND 367*4882a593Smuzhiyun 368*4882a593Smuzhiyunifneq ($(BR2_PACKAGE_OPENCV3_INSTALL_DATA),y) 369*4882a593Smuzhiyundefine OPENCV3_CLEAN_INSTALL_DATA 370*4882a593Smuzhiyun $(RM) -fr $(TARGET_DIR)/usr/share/OpenCV/haarcascades \ 371*4882a593Smuzhiyun $(TARGET_DIR)/usr/share/OpenCV/lbpcascades 372*4882a593Smuzhiyunendef 373*4882a593SmuzhiyunOPENCV3_POST_INSTALL_TARGET_HOOKS += OPENCV3_CLEAN_INSTALL_DATA 374*4882a593Smuzhiyunendif 375*4882a593Smuzhiyun 376*4882a593Smuzhiyun$(eval $(cmake-package)) 377