mirror of
https://codeberg.org/dnkl/yambar.git
synced 2025-04-22 20:25:39 +02:00
meson: particles: data-driven foreach loop, and link map against dynlist
This commit is contained in:
parent
d0360f2de1
commit
198a351c7c
1 changed files with 26 additions and 16 deletions
|
@ -1,21 +1,5 @@
|
||||||
particle_sdk = declare_dependency(dependencies: [pixman, tllist, fcft])
|
particle_sdk = declare_dependency(dependencies: [pixman, tllist, fcft])
|
||||||
|
|
||||||
particles = []
|
|
||||||
foreach particle : ['empty', 'list', 'map', 'progress-bar', 'ramp', 'string']
|
|
||||||
if plugs_as_libs
|
|
||||||
shared_module('@0@'.format(particle), '@0@.c'.format(particle),
|
|
||||||
dependencies: particle_sdk,
|
|
||||||
name_prefix: 'particle_',
|
|
||||||
install: true,
|
|
||||||
install_dir: join_paths(get_option('libdir'), 'yambar'))
|
|
||||||
else
|
|
||||||
particles += [declare_dependency(
|
|
||||||
sources: '@0@.c'.format(particle),
|
|
||||||
dependencies: particle_sdk,
|
|
||||||
compile_args: '-DHAVE_PLUGIN_@0@'.format(particle.underscorify()))]
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
dynlist_lib = build_target(
|
dynlist_lib = build_target(
|
||||||
'dynlist', 'dynlist.c', 'dynlist.h', dependencies: particle_sdk,
|
'dynlist', 'dynlist.c', 'dynlist.h', dependencies: particle_sdk,
|
||||||
target_type: plugs_as_libs ? 'shared_library' : 'static_library',
|
target_type: plugs_as_libs ? 'shared_library' : 'static_library',
|
||||||
|
@ -25,3 +9,29 @@ dynlist_lib = build_target(
|
||||||
)
|
)
|
||||||
|
|
||||||
dynlist = declare_dependency(link_with: dynlist_lib)
|
dynlist = declare_dependency(link_with: dynlist_lib)
|
||||||
|
|
||||||
|
# Particle name -> dep-list
|
||||||
|
deps = {
|
||||||
|
'empty': [],
|
||||||
|
'list': [],
|
||||||
|
'map': [dynlist],
|
||||||
|
'progress-bar': [],
|
||||||
|
'ramp': [],
|
||||||
|
'string': [],
|
||||||
|
}
|
||||||
|
|
||||||
|
particles = []
|
||||||
|
foreach particle, particle_deps : deps
|
||||||
|
if plugs_as_libs
|
||||||
|
shared_module('@0@'.format(particle), '@0@.c'.format(particle),
|
||||||
|
dependencies: [particle_sdk] + particle_deps,
|
||||||
|
name_prefix: 'particle_',
|
||||||
|
install: true,
|
||||||
|
install_dir: join_paths(get_option('libdir'), 'yambar'))
|
||||||
|
else
|
||||||
|
particles += [declare_dependency(
|
||||||
|
sources: '@0@.c'.format(particle),
|
||||||
|
dependencies: [particle_sdk] + particle_deps,
|
||||||
|
compile_args: '-DHAVE_PLUGIN_@0@'.format(particle.underscorify()))]
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
Loading…
Add table
Reference in a new issue