fwupd/plugins/dfu/meson.build
Richard Hughes 499d9f39a5 Fix a GObject registration problem on Debian
Do not link the static library with libfwupdprivate, instead do it in the
target executable.

Fixes https://github.com/hughsie/fwupd/issues/244
2017-09-12 09:34:51 +01:00

112 lines
2.0 KiB
Meson

cargs = ['-DG_LOG_DOMAIN="FuPluginDfu"']
dfu = static_library(
'dfu',
sources : [
'dfu-cipher-xtea.c',
'dfu-common.c',
'dfu-context.c',
'dfu-device.c',
'dfu-element.c',
'dfu-firmware.c',
'dfu-format-dfu.c',
'dfu-format-dfuse.c',
'dfu-format-ihex.c',
'dfu-format-metadata.c',
'dfu-format-raw.c',
'dfu-image.c',
'dfu-patch.c',
'dfu-sector.c',
'dfu-target.c',
],
dependencies : [
appstream_glib,
giounix,
libm,
gusb,
],
c_args : cargs,
include_directories : [
include_directories('../..'),
include_directories('../../libfwupd'),
include_directories('../../src'),
],
)
shared_module('fu_plugin_dfu',
sources : [
'fu-plugin-dfu.c',
],
include_directories : [
include_directories('../..'),
include_directories('../../src'),
include_directories('../../libfwupd'),
],
install : true,
install_dir: plugin_dir,
c_args : cargs,
dependencies : [
plugin_deps,
],
link_with : [
dfu,
],
)
executable(
'dfu-tool',
sources : [
'dfu-progress-bar.c',
'dfu-tool.c',
],
include_directories : [
include_directories('..'),
include_directories('../..'),
include_directories('../../src'),
include_directories('../../libfwupd'),
],
dependencies : [
appstream_glib,
giounix,
libm,
gusb,
],
link_with : [
dfu,
fwupd,
libfwupdprivate,
],
c_args : cargs,
install : true,
install_dir : get_option('bindir')
)
if get_option('enable-tests')
testdatadir = join_paths(meson.current_source_dir(), 'tests')
cargs += '-DTESTDATADIR="' + testdatadir + '"'
e = executable(
'dfu-self-test',
sources : [
'dfu-self-test.c'
],
include_directories : [
include_directories('..'),
include_directories('../..'),
include_directories('../../libfwupd'),
],
dependencies : [
appstream_glib,
gio,
gusb,
libm,
],
link_with : [
dfu,
fwupd,
libfwupdprivate,
],
c_args : cargs
)
test('dfu-self-test', e)
endif