sources = files(
'gpm-common.c',
'gsd-backlight.c',
'gsd-power-manager.c',
'main.c'
)
deps = plugins_deps + [
libcanberra_gtk_dep,
libcommon_dep,
libnotify_dep,
gio_unix_dep,
gnome_desktop_dep,
m_dep,
upower_glib_dep,
x11_dep,
dependency('xext')
]
# required for gsd-power-enums-update, which we have
# to compile natively
native_deps = [
dependency('glib-2.0', native: true),
dependency('gio-2.0', native:true)
]
if host_is_linux
deps += gudev_dep
endif
cflags += ['-DLIBEXECDIR="@0@"'.format(gsd_libexecdir)]
gsd_power = executable(
'gsd-' + plugin_name,
sources,
include_directories: [top_inc, data_inc],
dependencies: deps,
c_args: cflags,
install: true,
install_rpath: gsd_pkglibdir,
install_dir: gsd_libexecdir
)
sources = files('gsd-power-enums-update.c')
enums_headers = files(
'gsm-inhibitor-flag.h',
'gsm-presence-flag.h'
)
enums = 'gsd-power-enums'
sources += gnome.mkenums(
enums,
sources: enums_headers,
c_template: enums + '.c.in',
h_template: enums + '.h.in'
)
gsd_power_enums_update = executable(
'gsd-power-enums-update',
sources,
include_directories: top_inc,
dependencies: native_deps,
c_args: cflags,
native: true
)
if host_is_linux
policy = 'org.gnome.settings-daemon.plugins.power.policy'
policy_in = configure_file(
input: policy + '.in.in',
output: policy + '.in',
configuration: plugins_conf
)
i18n.merge_file(
policy,
input: policy_in,
output: policy,
po_dir: po_dir,
install: true,
install_dir: join_paths(gsd_datadir, 'polkit-1', 'actions')
)
sources = files(
'gsd-backlight-helper.c',
)
deps = [
]
executable(
'gsd-backlight-helper',
sources,
include_directories: top_inc,
dependencies: deps,
install: true,
install_rpath: gsd_pkglibdir,
install_dir: gsd_libexecdir
)
endif
output = 'gsdpowerconstants.py'
gsdpowerconstants_py = custom_target(
output,
input: 'gsd-power-constants.h',
output: output,
build_by_default: true,
command: [join_paths(meson.current_source_dir(), 'gsd-power-constants-update.pl'), '@INPUT@', '@OUTPUT@']
)
output = 'gsdpowerenums.py'
gsdpowerenums_py = custom_target(
output,
output: output,
capture: true,
build_by_default: true,
command: [gsd_power_enums_update]
)
test_py = find_program('test.py')
envs = environment()
#envs.prepend('G_DEBUG', 'fatal-warnings')
envs.set('BUILDDIR', meson.current_build_dir())
envs.set('TOP_BUILDDIR', meson.build_root())
envs.set('LD_PRELOAD', 'libumockdev-preload.so.0')
envs.set('NO_AT_BRIDGE', '1')
envs.set('HAVE_SYSFS_BACKLIGHT', host_is_linux ? '1' : '0')
if get_option('b_sanitize').split(',').contains('address')
# libasan needs to be loaded first; so we need to explicitly preload it
envs.set('POWER_LD_PRELOAD', 'libasan.so.5')
endif
foreach i : [ 1, 2, 3, 4, 5, 6, 7, 8 ]
test(
'test-power @0@/8'.format(i),
test_py,
args: [ 'PowerPluginTest@0@'.format(i) ],
env: envs,
timeout: 100
)
endforeach