meson.build 2.5 KB

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