meson.build 2.5 KB

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