subprojects: Add libyuv and built if -Dandroid=enabled

Android HAL adaptation layer may need image processing, for
example, scaling and format conversion. Libyuv is a general image
processing. This adds libyuv to subprojects, so that it is forked
locally and can be used with Android HAL implementation code.

Signed-off-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Hirokazu Honda 2021-02-04 01:27:30 +00:00 committed by Laurent Pinchart
parent 5b568b7e41
commit 9109bcf22c
5 changed files with 24 additions and 2 deletions

View file

@ -14,6 +14,23 @@ foreach dep : android_deps
endif
endforeach
if android_enabled
cmake = import('cmake')
libyuv_vars = cmake.subproject_options()
libyuv_vars.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': 'ON'})
libyuv_vars.set_override_option('cpp_std', 'c++17')
libyuv_vars.append_compile_args('cpp',
'-Wno-sign-compare',
'-Wno-unused-variable',
'-Wno-unused-parameter')
libyuv_vars.append_link_args('-ljpeg')
libyuv = cmake.subproject('libyuv', options : libyuv_vars)
libyuv_dep = libyuv.dependency('yuv')
android_deps += [ libyuv_dep, ]
endif
android_hal_sources = files([
'camera3_hal.cpp',
'camera_hal_manager.cpp',