1
0

meson.build 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. 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: path_mandir,
  59. )
  60. gamemoderun_manpage = configure_file(
  61. input: files('gamemoderun.1.in'),
  62. output: 'gamemoderun.1',
  63. configuration: data_conf,
  64. )
  65. install_man(
  66. gamemoderun_manpage,
  67. install_dir: path_mandir,
  68. )
  69. if with_examples
  70. example_manpage = configure_file(
  71. input: files('gamemode-simulate-game.1.in'),
  72. output: 'gamemode-simulate-game.1',
  73. configuration: data_conf,
  74. )
  75. install_man(
  76. example_manpage,
  77. install_dir: path_mandir,
  78. )
  79. endif
  80. # Install metainfo
  81. metainfo_file = files('io.github.feralinteractive.gamemode.metainfo.xml')
  82. install_data(
  83. metainfo_file,
  84. install_dir: path_metainfo,
  85. )
  86. # Validate metainfo
  87. appstreamcli = find_program(
  88. 'appstreamcli',
  89. required: false
  90. )
  91. if appstreamcli.found()
  92. test(
  93. 'validate metainfo file',
  94. appstreamcli,
  95. args: ['validate', '--no-net', '--pedantic', metainfo_file],
  96. )
  97. endif