mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 06:06:32 +00:00
package/opencv: define modules inter-dependencies
OpenCV allows to enable/disable the selection of modules (a.k.a. opencv libraries). These modules depend one on the others; these dependencies are already handled by the build-system (CMake). However, the way we handled them in Buildroot was not really clean. For each opencv module, there is a kconfig option, but we forced the corresponding CMake config option without checking for the modules' dependencies. For further details about the issues this situation was causing, refer to this discussion [1]. This patch replicates the modules' dependency relations in the Config.in, so that the selection of the user will actually be built. This changes completes this work [2]. [1] http://lists.busybox.net/pipermail/buildroot/2016-April/159017.html [2] https://git.buildroot.org/buildroot/commit/?id=3bd5025038a9ecfb2c19a2450a68ae3b0888b440 Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
bf8f0136e9
commit
fc23297c5c
@ -17,13 +17,14 @@ comment "OpenCV modules"
|
|||||||
config BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
config BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
bool "calib3d"
|
bool "calib3d"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_calib3d module into the OpenCV build.
|
Include opencv_calib3d module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_CONTRIB
|
config BR2_PACKAGE_OPENCV_LIB_CONTRIB
|
||||||
bool "contrib"
|
bool "contrib"
|
||||||
default y
|
default y
|
||||||
# modules/contrib/CMakeLists.txt
|
|
||||||
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
@ -36,24 +37,32 @@ config BR2_PACKAGE_OPENCV_LIB_CONTRIB
|
|||||||
config BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
config BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
bool "features2d"
|
bool "features2d"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_FLANN
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_features2d module into the OpenCV build.
|
Include opencv_features2d module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_FLANN
|
config BR2_PACKAGE_OPENCV_LIB_FLANN
|
||||||
bool "flann"
|
bool "flann"
|
||||||
default y
|
default y
|
||||||
|
# opencv_core dependency is already enabled
|
||||||
help
|
help
|
||||||
Include opencv_flann module into the OpenCV build.
|
Include opencv_flann module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_GPU
|
config BR2_PACKAGE_OPENCV_LIB_GPU
|
||||||
bool "gpu"
|
bool "gpu"
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_LEGACY
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_PHOTO
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_VIDEO
|
||||||
help
|
help
|
||||||
Include opencv_gpu module into the OpenCV build.
|
Include opencv_gpu module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
|
config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
|
||||||
bool "highgui"
|
bool "highgui"
|
||||||
default y
|
default y
|
||||||
# modules/highgui/CMakeLists.txt
|
|
||||||
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_highgui module into the OpenCV build.
|
Include opencv_highgui module into the OpenCV build.
|
||||||
@ -61,13 +70,13 @@ config BR2_PACKAGE_OPENCV_LIB_HIGHGUI
|
|||||||
config BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
config BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
bool "imgproc"
|
bool "imgproc"
|
||||||
default y
|
default y
|
||||||
|
# opencv_core dependency is already enabled
|
||||||
help
|
help
|
||||||
Include opencv_imgproc module into the OpenCV build.
|
Include opencv_imgproc module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_LEGACY
|
config BR2_PACKAGE_OPENCV_LIB_LEGACY
|
||||||
bool "legacy"
|
bool "legacy"
|
||||||
default y
|
default y
|
||||||
# modules/legacy/CMakeLists.txt
|
|
||||||
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
select BR2_PACKAGE_OPENCV_LIB_ML
|
select BR2_PACKAGE_OPENCV_LIB_ML
|
||||||
select BR2_PACKAGE_OPENCV_LIB_VIDEO
|
select BR2_PACKAGE_OPENCV_LIB_VIDEO
|
||||||
@ -77,18 +86,22 @@ config BR2_PACKAGE_OPENCV_LIB_LEGACY
|
|||||||
config BR2_PACKAGE_OPENCV_LIB_ML
|
config BR2_PACKAGE_OPENCV_LIB_ML
|
||||||
bool "ml (machine learning)"
|
bool "ml (machine learning)"
|
||||||
default y
|
default y
|
||||||
|
# opencv_core dependency is already enabled
|
||||||
help
|
help
|
||||||
Include opencv_ml module into the OpenCV build.
|
Include opencv_ml module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_NONFREE
|
config BR2_PACKAGE_OPENCV_LIB_NONFREE
|
||||||
bool "nonfree"
|
bool "nonfree"
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_nonfree module into the OpenCV build.
|
Include opencv_nonfree module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_OBJDETECT
|
config BR2_PACKAGE_OPENCV_LIB_OBJDETECT
|
||||||
bool "objdetect"
|
bool "objdetect"
|
||||||
default y
|
default y
|
||||||
# modules/objdetect/CMakeLists.txt
|
# opencv_core dependency is already enabled
|
||||||
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_objdetect module into the OpenCV build.
|
Include opencv_objdetect module into the OpenCV build.
|
||||||
@ -96,6 +109,7 @@ config BR2_PACKAGE_OPENCV_LIB_OBJDETECT
|
|||||||
config BR2_PACKAGE_OPENCV_LIB_PHOTO
|
config BR2_PACKAGE_OPENCV_LIB_PHOTO
|
||||||
bool "photo"
|
bool "photo"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_photo module into the OpenCV build.
|
Include opencv_photo module into the OpenCV build.
|
||||||
|
|
||||||
@ -104,32 +118,50 @@ comment "opencv_python module requires numpy which is not yet available."
|
|||||||
config BR2_PACKAGE_OPENCV_LIB_STITCHING
|
config BR2_PACKAGE_OPENCV_LIB_STITCHING
|
||||||
bool "stitching"
|
bool "stitching"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_OBJDETECT
|
||||||
help
|
help
|
||||||
Include opencv_stitching module into the OpenCV build.
|
Include opencv_stitching module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_SUPERRES
|
config BR2_PACKAGE_OPENCV_LIB_SUPERRES
|
||||||
bool "superres"
|
bool "superres"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_VIDEO
|
||||||
help
|
help
|
||||||
Include opencv_superres "super resolution" - module into the OpenCV
|
Include opencv_superres "super resolution" - module into the OpenCV
|
||||||
build.
|
build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_TS
|
config BR2_PACKAGE_OPENCV_LIB_TS
|
||||||
bool "ts (touchscreen)"
|
bool "ts (touchscreen)"
|
||||||
select BR2_PACKAGE_OPENCV_LIB_HIGHGUI
|
|
||||||
default y
|
default y
|
||||||
|
# opencv_core dependency is already enabled
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_HIGHGUI
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_VIDEO
|
||||||
help
|
help
|
||||||
Include opencv_ts module into the OpenCV build.
|
Include opencv_ts module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_VIDEO
|
config BR2_PACKAGE_OPENCV_LIB_VIDEO
|
||||||
bool "video"
|
bool "video"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
help
|
help
|
||||||
Include opencv_video module into the OpenCV build.
|
Include opencv_video module into the OpenCV build.
|
||||||
|
|
||||||
config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB
|
config BR2_PACKAGE_OPENCV_LIB_VIDEOSTAB
|
||||||
bool "videostab"
|
bool "videostab"
|
||||||
default y
|
default y
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_CALIB3D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_FEATURES2D
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_HIGHGUI
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_IMGPROC
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_PHOTO
|
||||||
|
select BR2_PACKAGE_OPENCV_LIB_VIDEO
|
||||||
help
|
help
|
||||||
Include opencv_videostab module into the OpenCV build.
|
Include opencv_videostab module into the OpenCV build.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user