mirror of
https://codeberg.org/dnkl/yambar.git
synced 2025-04-22 12:25:38 +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])
|
||||
|
||||
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', 'dynlist.c', 'dynlist.h', dependencies: particle_sdk,
|
||||
target_type: plugs_as_libs ? 'shared_library' : 'static_library',
|
||||
|
@ -25,3 +9,29 @@ dynlist_lib = build_target(
|
|||
)
|
||||
|
||||
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