2021-01-02 15:10:28 +08:00
|
|
|
# Copyright 2013-2021 Lawrence Livermore National Security, LLC and other
|
2018-10-08 04:52:23 +08:00
|
|
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
2016-05-12 12:22:25 +08:00
|
|
|
#
|
2018-10-08 04:52:23 +08:00
|
|
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
2020-01-03 09:18:27 +08:00
|
|
|
class Opencv(CMakePackage, CudaPackage):
|
2020-12-18 00:06:28 +08:00
|
|
|
"""OpenCV (Open Source Computer Vision Library) is an open source computer
|
|
|
|
vision and machine learning software library."""
|
|
|
|
|
|
|
|
homepage = 'https://opencv.org/'
|
|
|
|
url = 'https://github.com/opencv/opencv/archive/4.5.0.tar.gz'
|
2018-07-23 15:00:15 +08:00
|
|
|
git = 'https://github.com/opencv/opencv.git'
|
2016-02-01 17:53:27 +08:00
|
|
|
|
2020-12-18 00:06:28 +08:00
|
|
|
maintainers = ['bvanessen', 'adamjstewart']
|
2020-12-07 17:10:28 +08:00
|
|
|
|
2018-07-23 15:00:15 +08:00
|
|
|
version('master', branch='master')
|
2021-05-28 22:50:25 +08:00
|
|
|
version('4.5.2', sha256='ae258ed50aa039279c3d36afdea5c6ecf762515836b27871a8957c610d0424f8')
|
2021-03-16 05:41:24 +08:00
|
|
|
version('4.5.1', sha256='e27fe5b168918ab60d58d7ace2bd82dd14a4d0bd1d3ae182952c2113f5637513')
|
2020-12-18 00:06:28 +08:00
|
|
|
version('4.5.0', sha256='dde4bf8d6639a5d3fe34d5515eab4a15669ded609a1d622350c7ff20dace1907')
|
|
|
|
version('4.2.0', sha256='9ccb2192d7e8c03c58fee07051364d94ed7599363f3b0dce1c5e6cc11c1bb0ec')
|
|
|
|
version('4.1.2', sha256='385dd0a9c25e67ef0dd60e022d2a2d7b17e2f36819cf3cb46aa8cdff5c5282c9')
|
|
|
|
version('4.1.1', sha256='5de5d96bdfb9dad6e6061d70f47a0a91cee96bb35afb9afb9ecb3d43e243d217')
|
|
|
|
version('4.1.0', sha256='8f6e4ab393d81d72caae6e78bd0fd6956117ec9f006fba55fcdb88caf62989b7')
|
|
|
|
version('4.0.1', sha256='7b86a0ee804244e0c407321f895b15e4a7162e9c5c0d2efc85f1cadec4011af4')
|
|
|
|
version('4.0.0', sha256='3787b3cc7b21bba1441819cb00c636911a846c0392ddf6211d398040a1e4886c')
|
|
|
|
version('3.4.12', sha256='c8919dfb5ead6be67534bf794cb0925534311f1cd5c6680f8164ad1813c88d13')
|
|
|
|
version('3.4.6', sha256='e7d311ff97f376b8ee85112e2b536dbf4bdf1233673500175ed7cf21a0089f6d')
|
|
|
|
version('3.4.5', sha256='0c57d9dd6d30cbffe68a09b03f4bebe773ee44dc8ff5cd6eaeb7f4d5ef3b428e')
|
|
|
|
version('3.4.4', sha256='a35b00a71d77b484f73ec485c65fe56c7a6fa48acd5ce55c197aef2e13c78746')
|
2019-10-11 13:44:41 +08:00
|
|
|
version('3.4.3', sha256='4eef85759d5450b183459ff216b4c0fa43e87a4f6aa92c8af649f89336f002ec')
|
|
|
|
version('3.4.1', sha256='f1b87684d75496a1054405ae3ee0b6573acaf3dad39eaf4f1d66fdd7e03dc852')
|
|
|
|
version('3.4.0', sha256='678cc3d2d1b3464b512b084a8cca1fad7de207c7abdf2caa1fed636c13e916da')
|
|
|
|
version('3.3.1', sha256='5dca3bb0d661af311e25a72b04a7e4c22c47c1aa86eb73e70063cd378a2aa6ee')
|
|
|
|
version('3.3.0', sha256='8bb312b9d9fd17336dc1f8b3ac82f021ca50e2034afc866098866176d985adc6')
|
|
|
|
version('3.2.0', sha256='9541efbf68f298f45914b4e837490647f4d5e472b4c0c04414a787d116a702b2')
|
|
|
|
version('3.1.0', sha256='f3b160b9213dd17aa15ddd45f6fb06017fe205359dbd1f7219aad59c98899f15')
|
2021-04-21 17:01:04 +08:00
|
|
|
version('2.4.13.2', sha256='4b00c110e6c54943cbbb7cf0d35c5bc148133ab2095ee4aaa0ac0a4f67c58080', deprecated=True)
|
|
|
|
version('2.4.13.1', sha256='0d5ce5e0973e3a745f927d1ee097aaf909aae59f787be6d27a03d639e2d96bd7', deprecated=True)
|
|
|
|
version('2.4.13', sha256='94ebcca61c30034d5fb16feab8ec12c8a868f5162d20a9f0396f0f5f6d8bbbff', deprecated=True)
|
|
|
|
version('2.4.12.3', sha256='a4cbcd2d470860b0cf1f8faf504619c18a8ac38fd414c5a88ed3e94c963aa750', deprecated=True)
|
|
|
|
version('2.4.12.2', sha256='150a165eb14a5ea74fb94dcc16ac7d668a6ff20a4449df2570734a2abaab9c0e', deprecated=True)
|
|
|
|
version('2.4.12.1', sha256='c1564771f79304a2597ae4f74f44032021e3a46657e4a117060c08f5ed05ad83', deprecated=True)
|
|
|
|
|
|
|
|
# OpenCV modules
|
|
|
|
modules = [
|
|
|
|
'apps', 'calib3d', 'core', 'dnn', 'features2d', 'flann', 'gapi', 'highgui',
|
|
|
|
'imgcodecs', 'imgproc', 'java', 'java_bindings_generator', 'js',
|
|
|
|
'js_bindings_generator', 'ml', 'objc_bindings_generator', 'objdetect', 'photo',
|
|
|
|
'python2', 'python3', 'python_bindings_generator', 'python_tests', 'stitching',
|
|
|
|
'ts', 'video', 'videoio', 'world'
|
|
|
|
]
|
|
|
|
|
|
|
|
for mod in modules:
|
|
|
|
# At least one of these modules must be enabled to build OpenCV
|
|
|
|
variant(mod, default=mod == 'core',
|
|
|
|
description='Include opencv_{0} module into the OpenCV build'.format(
|
|
|
|
mod))
|
|
|
|
|
|
|
|
# Optional 3rd party components
|
|
|
|
components = [
|
|
|
|
'1394', 'ade', 'aravis', 'arith_dec', 'arith_enc', 'avfoundation', 'clp',
|
|
|
|
'cuda', 'eigen', 'ffmpeg', 'freetype', 'gdal', 'gdcm', 'gphoto2', 'gstreamer',
|
|
|
|
'halide', 'hpx', 'imgcodec_hdr', 'imgcode_pfm', 'imgcodec_pxm',
|
|
|
|
'imgcodec_sunraster', 'inf_engine', 'ipp', 'itt', 'jasper', 'jpeg', 'lapack',
|
|
|
|
'librealsense', 'mfx', 'ngraph', 'onnx', 'opencl', 'openclamdblas',
|
|
|
|
'openclamdfft', 'opencl_svm', 'openexr', 'opengl', 'openjpeg', 'openmp',
|
|
|
|
'openni', 'openni2', 'openvx', 'plaidml', 'png', 'protobuf', 'pthreads_pf',
|
|
|
|
'pvapi', 'qt', 'quirc', 'tbb', 'tiff', 'va', 'va_intel', 'vtk', 'vulcan',
|
|
|
|
'webp', 'ximea'
|
|
|
|
]
|
|
|
|
|
|
|
|
for component in components:
|
|
|
|
variant(component, default=False,
|
|
|
|
description='Include {0} support'.format(component))
|
|
|
|
|
|
|
|
# Other variants
|
2016-07-13 10:29:04 +08:00
|
|
|
variant('shared', default=True,
|
|
|
|
description='Enables the build of shared libraries')
|
2018-05-09 08:55:12 +08:00
|
|
|
variant('powerpc', default=False, description='Enable PowerPC for GCC')
|
|
|
|
variant('fast-math', default=False,
|
|
|
|
description='Enable -ffast-math (not recommended for GCC 4.6.x)')
|
2021-04-21 17:01:04 +08:00
|
|
|
variant('nonfree', default=False, description='Enable non-free algorithms')
|
2016-02-01 17:53:27 +08:00
|
|
|
|
2020-04-10 22:49:32 +08:00
|
|
|
variant('contrib', default=False, description='Adds in code from opencv_contrib.')
|
2020-12-18 00:06:28 +08:00
|
|
|
contrib_vers = [
|
2021-03-16 05:41:24 +08:00
|
|
|
'3.4.12', '4.0.0', '4.0.1', '4.1.0', '4.1.1', '4.1.2', '4.2.0', '4.5.0', '4.5.1'
|
2020-12-18 00:06:28 +08:00
|
|
|
]
|
2020-04-10 22:49:32 +08:00
|
|
|
for cv in contrib_vers:
|
|
|
|
resource(name="contrib",
|
|
|
|
git='https://github.com/opencv/opencv_contrib.git',
|
|
|
|
tag="{0}".format(cv),
|
|
|
|
when='@{0}+contrib'.format(cv))
|
|
|
|
|
2021-04-21 17:01:04 +08:00
|
|
|
depends_on('cmake@3.5.1:', type='build')
|
|
|
|
|
2020-04-10 22:49:32 +08:00
|
|
|
depends_on('hdf5', when='+contrib')
|
|
|
|
depends_on('hdf5', when='+cuda')
|
|
|
|
depends_on('blas', when='+lapack')
|
|
|
|
|
2018-06-18 22:53:48 +08:00
|
|
|
# Patch to fix conflict between CUDA and OpenCV (reproduced with 3.3.0
|
|
|
|
# and 3.4.1) header file that have the same name.Problem is fixed in
|
|
|
|
# the current development branch of OpenCV. See #8461 for more information.
|
|
|
|
patch('dnn_cuda.patch', when='@3.3.0:3.4.1+cuda+dnn')
|
|
|
|
|
2020-05-12 22:39:19 +08:00
|
|
|
patch('opencv3.2_cmake.patch', when='@3.2')
|
|
|
|
patch('opencv3.2_vtk.patch', when='@3.2+vtk')
|
|
|
|
patch('opencv3.2_regacyvtk.patch', when='@3.2+vtk')
|
|
|
|
patch('opencv3.2_ffmpeg.patch', when='@3.2+videoio')
|
2021-04-21 17:01:04 +08:00
|
|
|
patch('opencv3.2_python3.7.patch', when='@3.2+python3')
|
2020-05-28 17:23:15 +08:00
|
|
|
patch('opencv3.2_fj.patch', when='@3.2 %fj')
|
2020-05-12 22:39:19 +08:00
|
|
|
|
2021-04-21 17:01:04 +08:00
|
|
|
depends_on('zlib@1.2.3:')
|
2020-03-09 16:35:31 +08:00
|
|
|
depends_on('eigen', when='+eigen')
|
2021-04-21 17:01:04 +08:00
|
|
|
depends_on('ffmpeg', when='+ffmpeg')
|
|
|
|
depends_on('freetype', when='+freetype')
|
|
|
|
depends_on('gdal', when='+gdal')
|
2017-08-08 02:41:13 +08:00
|
|
|
depends_on('libpng', when='+png')
|
2017-08-24 16:30:35 +08:00
|
|
|
depends_on('jpeg', when='+jpeg')
|
2021-04-21 17:01:04 +08:00
|
|
|
depends_on('openjpeg@2:', when='+openjpeg')
|
2017-08-24 16:30:35 +08:00
|
|
|
depends_on('libtiff', when='+tiff')
|
2016-02-01 17:53:27 +08:00
|
|
|
|
2016-07-19 06:49:37 +08:00
|
|
|
depends_on('jasper', when='+jasper')
|
2021-04-21 17:01:04 +08:00
|
|
|
depends_on('cuda@6.5:', when='+cuda')
|
2016-07-14 06:30:28 +08:00
|
|
|
depends_on('vtk', when='+vtk')
|
|
|
|
depends_on('qt', when='+qt')
|
2021-04-21 17:01:04 +08:00
|
|
|
depends_on('java', when='+java_bindings_generator')
|
|
|
|
depends_on('ant', when='+java_bindings_generator', type='build')
|
|
|
|
depends_on('python@2.7:2.8,3.2:', type='build')
|
|
|
|
depends_on('python@2.7:2.8', when='+python2', type=('build', 'link', 'run'))
|
|
|
|
depends_on('python@3.2:', when='+python3', type=('build', 'link', 'run'))
|
|
|
|
depends_on('py-setuptools', when='+python2', type='build')
|
|
|
|
depends_on('py-setuptools', when='+python3', type='build')
|
|
|
|
depends_on('py-numpy', when='+python2', type=('build', 'run'))
|
|
|
|
depends_on('py-numpy', when='+python3', type=('build', 'run'))
|
|
|
|
depends_on('protobuf@3.5.0:', when='@3.4.1: +protobuf')
|
|
|
|
depends_on('protobuf@3.1.0', when='@3.3.0:3.4.0 +protobuf')
|
2016-07-16 10:28:50 +08:00
|
|
|
|
2018-05-09 08:55:12 +08:00
|
|
|
depends_on('ffmpeg', when='+videoio')
|
|
|
|
depends_on('mpi', when='+videoio')
|
|
|
|
|
2021-03-16 05:41:24 +08:00
|
|
|
conflicts('+cuda', when='~contrib', msg='cuda support requires +contrib')
|
2020-01-08 03:19:18 +08:00
|
|
|
|
2020-05-12 22:39:19 +08:00
|
|
|
# IPP is provided x86_64 only
|
|
|
|
conflicts('+ipp', when="arch=aarch64:")
|
|
|
|
|
2021-04-21 17:01:04 +08:00
|
|
|
# OpenCV module conflicts
|
|
|
|
# These conflicts can be scraped from CMakeCache.txt, look for:
|
|
|
|
# OPENCV_MODULE_opencv_*_REQ_DEPS
|
|
|
|
# If these required dependencies aren't found, CMake will silently
|
|
|
|
# disable the requested module
|
|
|
|
conflicts('+calib3d', when='~imgproc')
|
|
|
|
conflicts('+calib3d', when='~features2d')
|
2020-12-18 00:06:28 +08:00
|
|
|
conflicts('+calib3d', when='~flann')
|
2021-04-21 17:01:04 +08:00
|
|
|
conflicts('+dnn', when='~core')
|
|
|
|
conflicts('+dnn', when='~imgproc')
|
|
|
|
conflicts('+features2d', when='~imgproc')
|
|
|
|
conflicts('+flann', when='~core')
|
|
|
|
conflicts('+gapi', when='~imgproc')
|
|
|
|
conflicts('+highgui', when='~imgproc')
|
|
|
|
conflicts('+highgui', when='~imgcodecs')
|
|
|
|
conflicts('+imgcodecs', when='~imgproc')
|
|
|
|
conflicts('+imgproc', when='~core')
|
|
|
|
conflicts('+ml', when='~core')
|
|
|
|
conflicts('+objc_bindings_generator', when='~core')
|
|
|
|
conflicts('+objc_bindings_generator', when='~imgproc')
|
|
|
|
conflicts('+objdetect', when='~core')
|
|
|
|
conflicts('+objdetect', when='~imgproc')
|
|
|
|
conflicts('+objdetect', when='~calib3d')
|
|
|
|
conflicts('+photo', when='~imgproc')
|
|
|
|
conflicts('+python2', when='~python_bindings_generator')
|
|
|
|
conflicts('+python3', when='~python_bindings_generator')
|
|
|
|
conflicts('+stitching', when='~imgproc')
|
|
|
|
conflicts('+stitching', when='~features2d')
|
|
|
|
conflicts('+stitching', when='~calib3d')
|
|
|
|
conflicts('+stitching', when='~flann')
|
|
|
|
conflicts('+ts', when='~core')
|
|
|
|
conflicts('+ts', when='~imgproc')
|
|
|
|
conflicts('+ts', when='~imgcodecs')
|
|
|
|
conflicts('+ts', when='~videoio')
|
|
|
|
conflicts('+ts', when='~highgui')
|
|
|
|
conflicts('+video', when='~imgproc')
|
|
|
|
conflicts('+videoio', when='~imgproc')
|
|
|
|
conflicts('+videoio', when='~imgcodecs')
|
|
|
|
conflicts('+world', when='~core')
|
|
|
|
|
|
|
|
conflicts('+python2', when='+python3')
|
|
|
|
conflicts('+python3', when='+python2')
|
|
|
|
|
|
|
|
extends('python', when='+python2')
|
|
|
|
extends('python', when='+python3')
|
2016-07-13 10:27:21 +08:00
|
|
|
|
2017-08-05 23:15:18 +08:00
|
|
|
def cmake_args(self):
|
|
|
|
spec = self.spec
|
2021-04-21 17:01:04 +08:00
|
|
|
args = []
|
2016-02-01 17:53:27 +08:00
|
|
|
|
2021-04-21 17:01:04 +08:00
|
|
|
# OpenCV modules
|
|
|
|
for mod in self.modules:
|
|
|
|
args.append(self.define_from_variant('BUILD_opencv_' + mod, mod))
|
2018-05-09 08:55:12 +08:00
|
|
|
|
2021-04-21 17:01:04 +08:00
|
|
|
# Optional 3rd party components
|
|
|
|
for component in self.components:
|
|
|
|
args.append(self.define_from_variant(
|
|
|
|
'WITH_' + component.upper(), component))
|
|
|
|
|
|
|
|
# Other variants
|
2018-05-09 08:55:12 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('ENABLE_CONFIG_VERIFICATION', True),
|
|
|
|
self.define_from_variant('BUILD_SHARED_LIBS', 'shared'),
|
|
|
|
self.define('ENABLE_PRECOMPILED_HEADERS', False),
|
|
|
|
self.define_from_variant('WITH_LAPACK', 'lapack'),
|
|
|
|
self.define_from_variant('ENABLE_POWERPC', 'powerpc'),
|
|
|
|
self.define_from_variant('ENABLE_FAST_MATH', 'fast-math'),
|
|
|
|
self.define_from_variant('OPENCV_ENABLE_NONFREE', 'nonfree'),
|
2018-05-09 08:55:12 +08:00
|
|
|
])
|
2016-07-14 06:30:28 +08:00
|
|
|
|
2021-03-16 05:41:24 +08:00
|
|
|
if '+contrib' in spec:
|
2021-04-21 17:01:04 +08:00
|
|
|
args.append(self.define('OPENCV_EXTRA_MODULES_PATH', join_path(
|
|
|
|
self.stage.source_path, 'opencv_contrib/modules')))
|
2020-04-10 22:49:32 +08:00
|
|
|
|
|
|
|
if '+cuda' in spec:
|
|
|
|
if spec.variants['cuda_arch'].value[0] != 'none':
|
2021-04-21 17:01:04 +08:00
|
|
|
cuda_arch = spec.variants['cuda_arch'].value
|
|
|
|
args.append(self.define('CUDA_ARCH_BIN', ' '.join(cuda_arch)))
|
|
|
|
|
|
|
|
# TODO: this CMake flag is deprecated
|
|
|
|
if spec.target.family == 'ppc64le':
|
|
|
|
args.append(self.define('ENABLE_VSX', True))
|
2020-04-10 22:49:32 +08:00
|
|
|
|
2016-07-21 08:19:59 +08:00
|
|
|
# Media I/O
|
2021-04-21 17:01:04 +08:00
|
|
|
zlib = spec['zlib']
|
|
|
|
args.extend([
|
|
|
|
self.define('BUILD_ZLIB', False),
|
|
|
|
self.define('ZLIB_LIBRARY', zlib.libs[0]),
|
|
|
|
self.define('ZLIB_INCLUDE_DIR', zlib.headers.directories[0]),
|
|
|
|
])
|
2017-08-10 04:40:10 +08:00
|
|
|
|
|
|
|
if '+png' in spec:
|
|
|
|
libpng = spec['libpng']
|
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('BUILD_PNG', False),
|
|
|
|
self.define('PNG_LIBRARY', libpng.libs[0]),
|
|
|
|
self.define('PNG_INCLUDE_DIR', libpng.headers.directories[0])
|
2017-08-10 04:40:10 +08:00
|
|
|
])
|
2016-07-19 06:39:07 +08:00
|
|
|
|
2017-08-08 02:41:13 +08:00
|
|
|
if '+jpeg' in spec:
|
2017-08-24 16:30:35 +08:00
|
|
|
libjpeg = spec['jpeg']
|
2017-08-10 04:40:10 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('BUILD_JPEG', False),
|
|
|
|
self.define('JPEG_LIBRARY', libjpeg.libs[0]),
|
|
|
|
self.define('JPEG_INCLUDE_DIR', libjpeg.headers.directories[0])
|
2017-08-08 02:41:13 +08:00
|
|
|
])
|
2016-07-19 06:35:37 +08:00
|
|
|
|
2017-08-08 02:41:13 +08:00
|
|
|
if '+tiff' in spec:
|
|
|
|
libtiff = spec['libtiff']
|
2017-08-10 04:40:10 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('BUILD_TIFF', False),
|
|
|
|
self.define('TIFF_LIBRARY', libtiff.libs[0]),
|
|
|
|
self.define('TIFF_INCLUDE_DIR', libtiff.headers.directories[0])
|
2017-08-08 02:41:13 +08:00
|
|
|
])
|
2016-07-19 06:30:31 +08:00
|
|
|
|
2017-08-08 02:41:13 +08:00
|
|
|
if '+jasper' in spec:
|
|
|
|
jasper = spec['jasper']
|
2017-08-10 04:40:10 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('BUILD_JASPER', False),
|
|
|
|
self.define('JASPER_LIBRARY', jasper.libs[0]),
|
|
|
|
self.define('JASPER_INCLUDE_DIR', jasper.headers.directories[0])
|
2017-08-08 02:41:13 +08:00
|
|
|
])
|
2016-07-19 07:09:01 +08:00
|
|
|
|
2021-04-21 17:01:04 +08:00
|
|
|
# Python
|
|
|
|
python_exe = spec['python'].command.path
|
|
|
|
python_lib = spec['python'].libs[0]
|
|
|
|
python_include_dir = spec['python'].headers.directories[0]
|
|
|
|
|
|
|
|
if '+python2' in spec:
|
2017-08-05 23:15:18 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('PYTHON2_EXECUTABLE', python_exe),
|
|
|
|
self.define('PYTHON2_LIBRARY', python_lib),
|
|
|
|
self.define('PYTHON2_INCLUDE_DIR', python_include_dir),
|
|
|
|
self.define('PYTHON3_EXECUTABLE', '')
|
2016-07-16 10:30:37 +08:00
|
|
|
])
|
2021-04-21 17:01:04 +08:00
|
|
|
elif '+python3' in spec:
|
2017-08-05 23:15:18 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('PYTHON3_EXECUTABLE', python_exe),
|
|
|
|
self.define('PYTHON3_LIBRARY', python_lib),
|
|
|
|
self.define('PYTHON3_INCLUDE_DIR', python_include_dir),
|
|
|
|
self.define('PYTHON2_EXECUTABLE', '')
|
2016-07-16 10:30:37 +08:00
|
|
|
])
|
2016-07-16 10:28:50 +08:00
|
|
|
else:
|
2017-08-05 23:15:18 +08:00
|
|
|
args.extend([
|
2021-04-21 17:01:04 +08:00
|
|
|
self.define('PYTHON2_EXECUTABLE', ''),
|
|
|
|
self.define('PYTHON3_EXECUTABLE', ''),
|
2016-07-16 10:21:26 +08:00
|
|
|
])
|
2016-07-13 10:27:21 +08:00
|
|
|
|
2017-08-05 23:15:18 +08:00
|
|
|
return args
|
2017-11-26 12:00:18 +08:00
|
|
|
|
|
|
|
@property
|
|
|
|
def libs(self):
|
2021-04-21 17:01:04 +08:00
|
|
|
shared = '+shared' in self.spec
|
2017-11-26 12:00:18 +08:00
|
|
|
return find_libraries(
|
2021-04-21 17:01:04 +08:00
|
|
|
'libopencv_*', root=self.prefix, shared=shared, recursive=True
|
2017-11-26 12:00:18 +08:00
|
|
|
)
|