meson: initial support for building plugins as shared libraries

This commit is contained in:
Daniel Eklöf 2019-05-01 18:21:35 +02:00
parent 51e9d691e4
commit fdb9a9bc1c
5 changed files with 169 additions and 80 deletions

View file

@ -2,9 +2,17 @@ deco_sdk = declare_dependency(dependencies: [cairo, cairo_ft])
decorations = []
foreach deco : ['background', 'stack', 'underline']
lib = static_library(
'decoration_@0@'.format(deco), '@0@.c'.format(deco), dependencies: deco_sdk)
decorations += [declare_dependency(
link_with: lib,
compile_args: '-DHAVE_PLUGIN_@0@'.format(deco.underscorify()))]
if get_option('core-plugins-as-shared-libraries')
shared_module('@0@'.format(deco), '@0@.c'.format(deco),
dependencies: deco_sdk,
name_prefix: 'decoration_')
else
lib = static_library(
'decoration_@0@'.format(deco), '@0@.c'.format(deco), dependencies: deco_sdk,
target_type: target_type)
decorations += [declare_dependency(
link_with: lib,
compile_args: '-DHAVE_PLUGIN_@0@'.format(deco.underscorify()))]
endif
endforeach