meson.build 6.92 KB
Newer Older
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
vapi_dir = join_paths (datadir, 'vala', 'vapi')
gamepad_dir = join_paths (srcdir, 'gamepad')

vala_args = [
  '--vapidir', vapi_dir,
]

c_args = [
  '-I' + gamepad_dir,
  '-DG_LOG_DOMAIN="Games"',
]

vala_sources = [
  'command/command-error.vala',
  'command/command-runner.vala',

17
  'core/cooperative.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
18
  'core/cover.vala',
19
  'core/description.vala',
20
  'core/developer.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
21 22 23 24
  'core/game.vala',
  'core/game-callback.vala',
  'core/game-collection.vala',
  'core/game-uri-adapter.vala',
25
  'core/genre.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
26 27
  'core/icon.vala',
  'core/input-capabilities.vala',
AndreiLisita's avatar
AndreiLisita committed
28
  'core/input-mode.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
29 30 31 32
  'core/media.vala',
  'core/media-info.vala',
  'core/media-set/media-set.vala',
  'core/media-set/media-set-error.vala',
33
  'core/migrator.vala',
Saurabh Sabharwal's avatar
Saurabh Sabharwal committed
34
  'core/platform.vala',
35
  'core/platform-register.vala',
36
  'core/players.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
37 38 39 40
  'core/plugin.vala',
  'core/plugin-register.vala',
  'core/plugin-register-iterator.vala',
  'core/plugin-registrar.vala',
41
  'core/publisher.vala',
42
  'core/rating.vala',
43
  'core/release-date.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
44
  'core/runner.vala',
45
  'core/savestate.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
46 47 48 49 50 51 52
  'core/title.vala',
  'core/uid.vala',
  'core/uri-game-factory.vala',
  'core/uri-iterator.vala',
  'core/uri-source.vala',

  'database/database.vala',
53
  'database/database-developer.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
54
  'database/database-error.vala',
Abhinav Singh's avatar
Abhinav Singh committed
55
  'database/database-game.vala',
Abhinav Singh's avatar
Abhinav Singh committed
56
  'database/database-uid.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
57 58 59
  'database/database-uri-iterator.vala',
  'database/database-uri-source.vala',

60
  'dummy/dummy-cooperative.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
61
  'dummy/dummy-cover.vala',
62
  'dummy/dummy-description.vala',
63
  'dummy/dummy-developer.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
64
  'dummy/dummy-game.vala',
65
  'dummy/dummy-genre.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
66
  'dummy/dummy-icon.vala',
Saurabh Sabharwal's avatar
Saurabh Sabharwal committed
67
  'dummy/dummy-platform.vala',
68
  'dummy/dummy-players.vala',
69
  'dummy/dummy-publisher.vala',
70
  'dummy/dummy-rating.vala',
71
  'dummy/dummy-release-date.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
72
  'dummy/dummy-runner.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
73
  'dummy/dummy-uid.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
74 75 76 77 78 79 80 81 82 83 84

  'gameinfo/gameinfo-doc.vala',
  'gameinfo/gameinfo-error.vala',
  'gameinfo/gameinfo-disc-id-disc-title.vala',
  'gameinfo/gameinfo-disc-id-game-title.vala',
  'gameinfo/gameinfo-disc-id-input-capabilities.vala',

  'gamepad/gamepad-dpad.vala',
  'gamepad/gamepad-input.vala',
  'gamepad/gamepad-mapping-builder.vala',

85
  'generic/generic-cooperative.vala',
86
  'generic/generic-description.vala',
87
  'generic/generic-developer.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
88 89
  'generic/generic-game.vala',
  'generic/generic-game-uri-adapter.vala',
90
  'generic/generic-genre.vala',
91
  'generic/generic-platform.vala',
92
  'generic/generic-players.vala',
93
  'generic/generic-publisher.vala',
94
  'generic/generic-rating.vala',
95
  'generic/generic-release-date.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
96 97 98 99
  'generic/generic-title.vala',
  'generic/generic-uid.vala',
  'generic/generic-uri-game-factory.vala',

100
  'grilo/grilo-cooperative.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
101
  'grilo/grilo-cover.vala',
102
  'grilo/grilo-description.vala',
103
  'grilo/grilo-developer.vala',
104
  'grilo/grilo-genre.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
105
  'grilo/grilo-media.vala',
106
  'grilo/grilo-players.vala',
107
  'grilo/grilo-publisher.vala',
108
  'grilo/grilo-rating.vala',
109
  'grilo/grilo-release-date.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
110 111 112 113

  'keyboard/keyboard-mapping-builder.vala',
  'keyboard/keyboard-mapping-manager.vala',

114
  'retro/retro-core-manager.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
115 116 117 118 119
  'retro/retro-core-source.vala',
  'retro/retro-error.vala',
  'retro/retro-gamepad.vala',
  'retro/retro-input-manager.vala',
  'retro/retro-options.vala',
120
  'retro/retro-platform.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
121
  'retro/retro-runner.vala',
122
  'retro/retro-runner-builder.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
123 124 125 126 127 128 129 130 131 132
  'retro/retro-simple-game-uri-adapter.vala',
  'retro/retro-simple-type.vala',
  'retro/retro-simple-types.vala',

  'tracker/mime-type-tracker-uri-query.vala',
  'tracker/tracker-error.vala',
  'tracker/tracker-uri-iterator.vala',
  'tracker/tracker-uri-query.vala',
  'tracker/tracker-uri-source.vala',

133
  'ui/adaptive-state.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
134 135 136 137 138 139
  'ui/application.vala',
  'ui/application-window.vala',
  'ui/checkmark-item.vala',
  'ui/collection-box.vala',
  'ui/collection-icon-view.vala',
  'ui/collection-header-bar.vala',
140
  'ui/collection-view.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
141
  'ui/display-bin.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
142 143
  'ui/display-box.vala',
  'ui/display-header-bar.vala',
144
  'ui/display-view.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
145 146 147 148
  'ui/dummy-display.vala',
  'ui/empty-collection.vala',
  'ui/error-display.vala',
  'ui/error-info-bar.vala',
AndreiLisita's avatar
AndreiLisita committed
149
  'ui/flash-box.vala',
150
  'ui/fullscreen-box.vala',
Adrien Plazas's avatar
Adrien Plazas committed
151
  'ui/gamepad-browse.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
152 153 154 155 156 157
  'ui/gamepad-mapper.vala',
  'ui/gamepad-tester.vala',
  'ui/gamepad-view.vala',
  'ui/game-icon-view.vala',
  'ui/game-thumbnail.vala',
  'ui/gamepad-view-configuration.vala',
AndreiLisita's avatar
AndreiLisita committed
158
  'ui/input-mode-switcher.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
159 160 161 162
  'ui/keyboard-mapper.vala',
  'ui/keyboard-tester.vala',
  'ui/konami-code.vala',
  'ui/media-menu-button.vala',
Adrien Plazas's avatar
Adrien Plazas committed
163
  'ui/message-dialog.vala',
164
  'ui/platform-list-item.vala',
165
  'ui/platforms-view.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
166 167
  'ui/preferences-page.vala',
  'ui/preferences-page-controllers.vala',
168
  'ui/preferences-page-backup-restore.vala',
169
  'ui/preferences-page-platforms.vala',
170 171 172
  'ui/preferences-page-platforms-generic-row.vala',
  'ui/preferences-page-platforms-retro-row.vala',
  'ui/preferences-page-platforms-row.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
173
  'ui/preferences-page-video.vala',
174
  'ui/preferences-sidebar.vala',
175
  'ui/preferences-sidebar-item.vala',
176
  'ui/preferences-subpage.vala',
177
  'ui/preferences-subpage-gamepad.vala',
178
  'ui/preferences-subpage-keyboard.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
179 180 181 182 183 184
  'ui/preferences-window.vala',
  'ui/quit-dialog.vala',
  'ui/remote-display.vala',
  'ui/reset-controller-mapping-dialog.vala',
  'ui/resume-dialog.vala',
  'ui/resume-failed-dialog.vala',
185
  'ui/savestate-listbox-row.vala',
186 187
  'ui/savestates-list.vala',
  'ui/savestates-list-state.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
188 189
  'ui/search-bar.vala',
  'ui/shortcuts-window.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
190
  'ui/ui-view.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
191 192 193 194 195 196 197 198 199 200

  'utils/composite-cover.vala',
  'utils/composite-title.vala',
  'utils/cue-sheet/cue-sheet.vala',
  'utils/cue-sheet/cue-sheet-error.vala',
  'utils/cue-sheet/cue-sheet-file-format.vala',
  'utils/cue-sheet/cue-sheet-file-node.vala',
  'utils/cue-sheet/cue-sheet-track-mode.vala',
  'utils/cue-sheet/cue-sheet-track-node.vala',
  'utils/directory.vala',
201
  'utils/file-operations.vala',
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
202 203 204 205 206 207 208 209 210 211 212 213 214 215
  'utils/filename-title.vala',
  'utils/fingerprint.vala',
  'utils/grep.vala',
  'utils/local-cover.vala',
  'utils/string-input-stream.vala',
  'utils/unicode.vala',
  'utils/uri.vala',
  'utils/uri-error.vala',
  'utils/xml-doc.vala',

  'credits.vala',
  'main.vala',
]

216 217
event_codes_dep = valac.find_library ('event-codes', dirs: gamepad_dir)

Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
218 219
dependencies = [
  config_dep,
220 221

  archive_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
222 223 224 225
  gio_dep,
  glib_dep,
  grilo_dep,
  gtk_dep,
226
  handy_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
227
  m_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
228 229 230 231 232 233 234
  manette_dep,
  retro_gtk_dep,
  rsvg_dep,
  soup_dep,
  sqlite_dep,
  tracker_sparql_dep,
  xml_dep,
235

Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
236 237
  valac.find_library ('linux'),
  valac.find_library ('posix'),
238
  event_codes_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
239 240 241 242 243 244 245 246 247 248 249 250 251 252
]

gnome_games_exec = executable (
  'gnome-games',
  vala_sources + resources,
  dependencies: dependencies,
  vala_args: vala_args,
  c_args: c_args,
  include_directories: confinc,
  export_dynamic: true,
  install: true
)

plugin_dependencies = [
253
  archive_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
254 255 256 257
  gio_dep,
  glib_dep,
  gtk_dep,
  retro_gtk_dep,
258
  soup_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
259
  tracker_sparql_dep,
260

261
  event_codes_dep,
Alexander Mikhaylenko's avatar
Alexander Mikhaylenko committed
262 263 264 265 266 267 268
]

gnome_games_dep = declare_dependency (
  dependencies: plugin_dependencies,
  link_with: gnome_games_exec,
  include_directories: srcinc
)