Fixes examples/dmabuf-capture being built with unmet dependencies

Even if the libav* variables were disabler objects, the build targer
dmabuf-capture was being built. Modified the script to support a generic
solution.
This commit is contained in:
random human 2018-08-30 22:23:28 +05:30
parent 633663cdde
commit 660a022909
No known key found for this signature in database
GPG Key ID: 73E5A60444CC77A3
1 changed files with 21 additions and 13 deletions

View File

@ -20,31 +20,31 @@ endif
examples = { examples = {
'simple': { 'simple': {
'src': 'simple.c', 'src': 'simple.c',
'dep': wlroots, 'dep': [wlroots],
}, },
'pointer': { 'pointer': {
'src': 'pointer.c', 'src': 'pointer.c',
'dep': wlroots, 'dep': [wlroots],
}, },
'touch': { 'touch': {
'src': ['touch.c', 'cat.c'], 'src': ['touch.c', 'cat.c'],
'dep': wlroots, 'dep': [wlroots],
}, },
'tablet': { 'tablet': {
'src': 'tablet.c', 'src': 'tablet.c',
'dep': wlroots, 'dep': [wlroots],
}, },
'rotation': { 'rotation': {
'src': ['rotation.c', 'cat.c'], 'src': ['rotation.c', 'cat.c'],
'dep': wlroots, 'dep': [wlroots],
}, },
'multi-pointer': { 'multi-pointer': {
'src': 'multi-pointer.c', 'src': 'multi-pointer.c',
'dep': wlroots, 'dep': [wlroots],
}, },
'output-layout': { 'output-layout': {
'src': ['output-layout.c', 'cat.c'], 'src': ['output-layout.c', 'cat.c'],
'dep': wlroots, 'dep': [wlroots],
}, },
'screenshot': { 'screenshot': {
'src': 'screenshot.c', 'src': 'screenshot.c',
@ -93,10 +93,18 @@ examples = {
} }
foreach name, info : examples foreach name, info : examples
executable( all_dep_found = true
name, foreach d : info.get('dep')
info.get('src'), all_dep_found = all_dep_found and d.found()
dependencies: info.get('dep'), endforeach
build_by_default: get_option('examples'), if all_dep_found
) executable(
name,
info.get('src'),
dependencies: info.get('dep'),
build_by_default: get_option('examples'),
)
else
warning('Dependencies not satisfied for ' + name)
endif
endforeach endforeach