gamemode/data/meson.build
Sam Gleske c96f7379b4
New utility: gamemodelist (#346)
* New utility: gamemodelist

While trying out gamemode on Ubuntu 18.04 I had trouble figuring out
whether or not my games were running with gamemode enabled.  I wrote this
utility which prints all processes loaded with the gamemode shared
library.

- [x] Added utility to `data/` folder.
- [x] Update meson installer.
- [x] Included section 1 manual.
- [x] Updated README for Ubuntu 18.04 build instructions.  Steam supports
  Ubuntu 18.04.

I'm open to feedback and generally this should work for any distrobution
since it makes use of the Linux `/proc` filesystem.  [Learn more about
`/proc`][1].

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/filesystems/proc.rst?h=v5.15.12
2022-02-21 09:50:57 +00:00

128 lines
3.0 KiB
Meson

data_conf = configuration_data()
data_conf.set('BINDIR', path_bindir)
data_conf.set('LIBEXECDIR', path_libexecdir)
data_conf.set('SYSCONFDIR', path_sysconfdir)
data_conf.set('GAMEMODE_PREFIX', path_prefix)
data_conf.set('GAMEMODE_VERSION', meson.project_version())
# Pull in the example config
config_example = run_command(
'cat',
join_paths(meson.source_root(), 'example', 'gamemode.ini')
).stdout().strip()
data_conf.set('GAMEMODE_EXAMPLE_CONFIG', config_example)
if sd_bus_provider == 'systemd'
# Install systemd user unit
configure_file(
input: 'gamemoded.service.in',
output: 'gamemoded.service',
configuration: data_conf,
install_dir: path_systemd_unit_dir,
)
# Install the sysusers.d file
install_data(
files('gamemode.conf'),
install_dir: path_systemd_sysusers_dir,
)
endif
# Install the D-BUS service file
configure_file(
input: 'com.feralinteractive.GameMode.service.in',
output: 'com.feralinteractive.GameMode.service',
configuration: data_conf,
install_dir: path_dbus_service_dir,
)
# Install the Polkit action file in all cases
configure_file(
input: 'com.feralinteractive.GameMode.policy.in',
output: 'com.feralinteractive.GameMode.policy',
configuration: data_conf,
install_dir: path_polkit_action_dir,
)
# Install the helper run script
install_data(
files('gamemoderun'),
install_dir: path_bindir,
install_mode: 'rwxr-xr-x',
)
# Install script to find processes with gamemode lib in runtime
install_data(
files('gamemodelist'),
install_dir: path_bindir,
install_mode: 'rwxr-xr-x',
)
# Configure and install man pages
gamemoded_manpage = configure_file(
input: files('gamemoded.8.in'),
output: 'gamemoded.8',
configuration: data_conf,
)
install_man(
gamemoded_manpage,
install_dir: join_paths(path_mandir, 'man8')
)
gamemoderun_manpage = configure_file(
input: files('gamemoderun.1.in'),
output: 'gamemoderun.1',
configuration: data_conf,
)
install_man(
gamemoderun_manpage,
install_dir: join_paths(path_mandir, 'man1')
)
gamemodelist_manpage = configure_file(
input: files('gamemodelist.1.in'),
output: 'gamemodelist.1',
configuration: data_conf,
)
install_man(
gamemodelist_manpage,
install_dir: join_paths(path_mandir, 'man1')
)
if with_examples
example_manpage = configure_file(
input: files('gamemode-simulate-game.1.in'),
output: 'gamemode-simulate-game.1',
configuration: data_conf,
)
install_man(
example_manpage,
install_dir: join_paths(path_mandir, 'man1')
)
endif
# Install metainfo
metainfo_file = files('io.github.feralinteractive.gamemode.metainfo.xml')
install_data(
metainfo_file,
install_dir: path_metainfo,
)
# Validate metainfo
appstreamcli = find_program(
'appstreamcli',
required: false
)
if appstreamcli.found()
test(
'validate metainfo file',
appstreamcli,
args: ['validate', '--no-net', '--pedantic', metainfo_file],
)
endif