meson.build 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. data_conf.set('GAMEMODE_VERSION', meson.project_version())
  6. # Pull in the example config
  7. config_example = run_command(
  8. 'cat',
  9. join_paths(meson.source_root(), 'example', 'gamemode.ini')
  10. ).stdout().strip()
  11. data_conf.set('GAMEMODE_EXAMPLE_CONFIG', config_example)
  12. if sd_bus_provider == 'systemd'
  13. # Install systemd user unit
  14. configure_file(
  15. input: 'gamemoded.service.in',
  16. output: 'gamemoded.service',
  17. configuration: data_conf,
  18. install_dir: path_systemd_unit_dir,
  19. )
  20. endif
  21. # Install the D-BUS service file
  22. configure_file(
  23. input: 'com.feralinteractive.GameMode.service.in',
  24. output: 'com.feralinteractive.GameMode.service',
  25. configuration: data_conf,
  26. install_dir: path_dbus_service_dir,
  27. )
  28. # Install the Polkit action file in all cases
  29. configure_file(
  30. input: 'com.feralinteractive.GameMode.policy.in',
  31. output: 'com.feralinteractive.GameMode.policy',
  32. configuration: data_conf,
  33. install_dir: path_polkit_action_dir,
  34. )
  35. # Install the helper run script
  36. install_data(
  37. files('gamemoderun'),
  38. install_dir: path_bindir,
  39. install_mode: 'rwxr-xr-x',
  40. )
  41. # Configure and install man pages
  42. gamemoded_manpage = configure_file(
  43. input: files('gamemoded.8.in'),
  44. output: 'gamemoded.8',
  45. configuration: data_conf,
  46. )
  47. install_man(
  48. gamemoded_manpage,
  49. install_dir: path_mandir,
  50. )
  51. gamemoderun_manpage = configure_file(
  52. input: files('gamemoderun.1.in'),
  53. output: 'gamemoderun.1',
  54. configuration: data_conf,
  55. )
  56. install_man(
  57. gamemoderun_manpage,
  58. install_dir: path_mandir,
  59. )
  60. if with_examples
  61. example_manpage = configure_file(
  62. input: files('gamemode-simulate-game.1.in'),
  63. output: 'gamemode-simulate-game.1',
  64. configuration: data_conf,
  65. )
  66. install_man(
  67. example_manpage,
  68. install_dir: path_mandir,
  69. )
  70. endif
  71. # Install metainfo
  72. metainfo_file = files('io.github.feralinteractive.gamemode.metainfo.xml')
  73. install_data(
  74. metainfo_file,
  75. install_dir: path_metainfo,
  76. )
  77. # Validate metainfo
  78. appstreamcli = find_program(
  79. 'appstreamcli',
  80. required: false
  81. )
  82. if appstreamcli.found()
  83. test(
  84. 'validate metainfo file',
  85. appstreamcli,
  86. args: ['validate', '--no-net', '--pedantic', metainfo_file],
  87. )
  88. endif