meson.build 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. data_conf = configuration_data()
  2. data_conf.set('BINDIR', path_bindir)
  3. data_conf.set('LIBEXECDIR', path_libexecdir)
  4. data_conf.set('GAMEMODE_PREFIX', path_prefix)
  5. # Set gamemoderun lib dir
  6. gamemoderun_lib_dir = get_option('with-gamemoderun-lib-dir')
  7. if gamemoderun_lib_dir == 'default'
  8. data_conf.set('GAMEMODERUN_PREFIX', path_prefix + '/\$LIB/')
  9. else
  10. data_conf.set('GAMEMODERUN_PREFIX', gamemoderun_lib_dir)
  11. endif
  12. # Pull in the example config
  13. config_example = run_command(
  14. 'cat',
  15. join_paths(meson.source_root(), 'example', 'gamemode.ini')
  16. ).stdout().strip()
  17. data_conf.set('GAMEMODE_EXAMPLE_CONFIG', config_example)
  18. if with_systemd == true
  19. # Install systemd user unit
  20. configure_file(
  21. input: 'gamemoded.service.in',
  22. output: 'gamemoded.service',
  23. configuration: data_conf,
  24. install_dir: path_systemd_unit_dir,
  25. )
  26. endif
  27. # Install the D-BUS service file
  28. configure_file(
  29. input: 'com.feralinteractive.GameMode.service.in',
  30. output: 'com.feralinteractive.GameMode.service',
  31. configuration: data_conf,
  32. install_dir: path_dbus_service_dir,
  33. )
  34. # Install the Polkit action file in all cases
  35. configure_file(
  36. input: 'com.feralinteractive.GameMode.policy.in',
  37. output: 'com.feralinteractive.GameMode.policy',
  38. configuration: data_conf,
  39. install_dir: path_polkit_action_dir,
  40. )
  41. # Install the helper run script
  42. configure_file(
  43. input: 'gamemoderun.in',
  44. output: 'gamemoderun',
  45. configuration: data_conf,
  46. install_dir: path_bindir,
  47. install_mode: 'rwxr-xr-x',
  48. )
  49. # Configure and install man pages
  50. mandir = join_paths(path_prefix, get_option('mandir'))
  51. gamemoded_manpage = configure_file(
  52. input: files('gamemoded.8.in'),
  53. output: 'gamemoded.8',
  54. configuration: data_conf,
  55. )
  56. install_man(
  57. gamemoded_manpage,
  58. install_dir: mandir,
  59. )
  60. install_man(
  61. files('gamemoderun.1'),
  62. install_dir: mandir,
  63. )
  64. # Install metainfo
  65. metainfo_file = files('io.github.feralinteractive.gamemode.metainfo.xml')
  66. install_data(
  67. metainfo_file,
  68. install_dir: join_paths(path_datadir, 'metainfo')
  69. )
  70. # Validate metainfo
  71. appstreamcli = find_program(
  72. 'appstreamcli',
  73. required: false
  74. )
  75. if appstreamcli.found()
  76. test(
  77. 'validate metainfo file',
  78. appstreamcli,
  79. args: ['validate', '--no-net', '--pedantic', metainfo_file],
  80. )
  81. endif