meson: allow building libcamera from source as a subproject
Many distributions provide outdated libcamera versions. This change should also help making changes to libcamera itself. System libcamera is kept a default to avoid breaking existing build processes relying to packaged libcamera.
This commit is contained in:
parent
6d712d17e7
commit
3d971b4024
|
@ -15,6 +15,11 @@ subprojects/lua*
|
||||||
subprojects/wireplumber
|
subprojects/wireplumber
|
||||||
subprojects/media-session
|
subprojects/media-session
|
||||||
subprojects/packagecache
|
subprojects/packagecache
|
||||||
|
subprojects/googletest*
|
||||||
|
subprojects/gtest.wrap
|
||||||
|
subprojects/libyaml.wrap
|
||||||
|
subprojects/libyaml
|
||||||
|
subprojects/libcamera
|
||||||
|
|
||||||
# Created by https://www.gitignore.io/api/vim
|
# Created by https://www.gitignore.io/api/vim
|
||||||
|
|
||||||
|
|
|
@ -168,6 +168,8 @@ option('libcamera',
|
||||||
description: 'Enable libcamera spa plugin integration',
|
description: 'Enable libcamera spa plugin integration',
|
||||||
type: 'feature',
|
type: 'feature',
|
||||||
value: 'auto')
|
value: 'auto')
|
||||||
|
option('system-libcamera', type : 'boolean', value : 'true',
|
||||||
|
description : 'Use libcamera from the system instead of building from source')
|
||||||
option('videoconvert',
|
option('videoconvert',
|
||||||
description: 'Enable videoconvert spa plugin integration',
|
description: 'Enable videoconvert spa plugin integration',
|
||||||
type: 'feature',
|
type: 'feature',
|
||||||
|
|
|
@ -89,7 +89,12 @@ if get_option('spa-plugins').allowed()
|
||||||
vulkan_headers = cc.has_header('vulkan/vulkan.h', dependencies : vulkan_dep)
|
vulkan_headers = cc.has_header('vulkan/vulkan.h', dependencies : vulkan_dep)
|
||||||
#summary({'Vulkan': vulkan_headers}, bool_yn: true, section: 'Misc dependencies')
|
#summary({'Vulkan': vulkan_headers}, bool_yn: true, section: 'Misc dependencies')
|
||||||
|
|
||||||
libcamera_dep = dependency('libcamera', required: get_option('libcamera'))
|
if get_option('system-libcamera')
|
||||||
|
libcamera_dep = dependency('libcamera', required: get_option('libcamera'))
|
||||||
|
else
|
||||||
|
libcamera_proj = subproject('libcamera')
|
||||||
|
libcamera_dep = libcamera_proj.get_variable('libcamera_public')
|
||||||
|
endif
|
||||||
summary({'libcamera': libcamera_dep.found()}, bool_yn: true, section: 'Backend')
|
summary({'libcamera': libcamera_dep.found()}, bool_yn: true, section: 'Backend')
|
||||||
|
|
||||||
tinycompress_dep = cc.find_library('tinycompress', has_headers: ['tinycompress/tinycompress.h' ], required: get_option('compress-offload'))
|
tinycompress_dep = cc.find_library('tinycompress', has_headers: ['tinycompress/tinycompress.h' ], required: get_option('compress-offload'))
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
[wrap-git]
|
||||||
|
url = https://git.libcamera.org/libcamera/libcamera.git
|
||||||
|
revision = head
|
Loading…
Reference in New Issue