1libgnome_photos_built_headers = [] 2 3sources = files( 4 'photos-debug.c', 5 'photos-error.c', 6 'photos-gegl.c', 7 'photos-glib.c', 8 'photos-jpeg-count.c', 9 'photos-operation-insta-clarendon.c', 10 'photos-operation-insta-curve.c', 11 'photos-operation-insta-filter.c', 12 'photos-operation-insta-hefe.c', 13 'photos-operation-insta-hefe-curve.c', 14 'photos-operation-insta-hefe-vignette.c', 15 'photos-operation-jpg-guess-sizes.c', 16 'photos-operation-png-guess-sizes.c', 17 'photos-operation-saturation.c', 18 'photos-operation-svg-multiply.c', 19 'photos-pipeline.c', 20 'photos-png-count.c', 21 'photos-quarks.c', 22) 23 24thumbnailer_dbus = 'photos-thumbnailer-dbus' 25 26libgnome_photos_built_sources_gdbus = gnome.gdbus_codegen( 27 thumbnailer_dbus, 28 thumbnailer_dbus + '.xml', 29 interface_prefix: photos_namespace + '.', 30 namespace: 'Photos', 31 annotations: [ 32 [photos_namespace + '.Thumbnailer', 'org.gtk.GDBus.C.Name', 'ThumbnailerDBus'], 33 [photos_namespace + '.Thumbnailer.GenerateThumbnail()[pipeline_uris]', 'org.gtk.GDBus.C.ForceGVariant', 'true'], 34 ], 35 autocleanup: 'all', 36) 37 38libgnome_photos_built_headers += libgnome_photos_built_sources_gdbus[1] 39sources += libgnome_photos_built_sources_gdbus 40 41enum_headers = files( 42 'photos-operation-insta-common.h', 43) 44 45enum = 'photos-enums-gegl' 46 47libgnome_photos_built_sources_enums = gnome.mkenums( 48 enum, 49 sources: enum_headers, 50 c_template: enum + '.c.template', 51 h_template: enum + '.h.template', 52) 53 54libgnome_photos_built_headers += libgnome_photos_built_sources_enums[1] 55sources += libgnome_photos_built_sources_enums 56 57resource_data = files('../data/vignette.png') 58 59libgnome_photos_built_sources_resources = gnome.compile_resources( 60 'photos-resources-gegl', 61 'photos-gegl.gresource.xml', 62 source_dir: '.', 63 c_name: 'photos_gegl', 64 dependencies: resource_data, 65 export: true, 66) 67 68libgnome_photos_built_headers += libgnome_photos_built_sources_resources[1] 69sources += libgnome_photos_built_sources_resources 70 71deps = [ 72 babl_dep, 73 gegl_dep, 74 gdk_pixbuf_dep, 75 gio_dep, 76 gio_unix_dep, 77 glib_dep, 78 gobject_dep, 79 libdazzle_dep, 80 libjpeg_dep, 81 libpng_dep, 82 m_dep, 83] 84 85libgnome_photos = shared_library( 86 meson.project_name(), 87 sources, 88 dependencies: deps, 89 include_directories: top_inc, 90 install: true, 91 install_dir: photos_libdir, 92) 93 94libgnome_photos_dep = declare_dependency(link_with: libgnome_photos, sources: libgnome_photos_built_headers) 95 96common_sources = [] 97 98common_deps = [ 99 gdk_pixbuf_dep, 100 gegl_dep, 101 gio_dep, 102 gio_unix_dep, 103 glib_dep, 104 gobject_dep, 105 libdazzle_dep, 106 libgnome_photos_dep, 107] 108 109sources = common_sources + files( 110 'photos-application.c', 111 'photos-base-manager.c', 112 'photos-base-model.c', 113 'photos-base-item.c', 114 'photos-camera-cache.c', 115 'photos-collection-icon-watcher.c', 116 'photos-create-collection-icon-job.c', 117 'photos-create-collection-job.c', 118 'photos-delete-item-job.c', 119 'photos-delete-notification.c', 120 'photos-device-item.c', 121 'photos-dlna-renderer.c', 122 'photos-dlna-renderers-dialog.c', 123 'photos-dlna-renderers-manager.c', 124 'photos-done-notification.c', 125 'photos-dropdown.c', 126 'photos-export-dialog.c', 127 'photos-export-notification.c', 128 'photos-edit-palette.c', 129 'photos-edit-palette-row.c', 130 'photos-embed.c', 131 'photos-empty-results-box.c', 132 'photos-error-box.c', 133 'photos-facebook-item.c', 134 'photos-fetch-collection-state-job.c', 135 'photos-fetch-collections-job.c', 136 'photos-fetch-ids-job.c', 137 'photos-fetch-metas-job.c', 138 'photos-filterable.c', 139 'photos-flickr-item.c', 140 'photos-gesture-zoom.c', 141 'photos-google-item.c', 142 'photos-image-view.c', 143 'photos-image-view-helper.c', 144 'photos-import-dialog.c', 145 'photos-indexing-notification.c', 146 'photos-item-manager.c', 147 'photos-local-item.c', 148 'photos-main-toolbar.c', 149 'photos-main-window.c', 150 'photos-media-server-item.c', 151 'photos-model-button.c', 152 'photos-notification-manager.c', 153 'photos-offset-collection-view-controller.c', 154 'photos-offset-collections-controller.c', 155 'photos-offset-controller.c', 156 'photos-offset-favorites-controller.c', 157 'photos-offset-import-controller.c', 158 'photos-offset-overview-controller.c', 159 'photos-offset-search-controller.c', 160 'photos-organize-collection-dialog.c', 161 'photos-organize-collection-model.c', 162 'photos-organize-collection-view.c', 163 'photos-overview-searchbar.c', 164 'photos-preview-nav-buttons.c', 165 'photos-preview-view.c', 166 'photos-print-notification.c', 167 'photos-print-operation.c', 168 'photos-print-preview.c', 169 'photos-print-setup.c', 170 'photos-properties-dialog.c', 171 'photos-query.c', 172 'photos-query-builder.c', 173 'photos-remote-display-manager.c', 174 'photos-removable-device-widget.c', 175 'photos-removable-devices-button.c', 176 'photos-search-context.c', 177 'photos-search-controller.c', 178 'photos-search-match.c', 179 'photos-search-match-manager.c', 180 'photos-search-provider.c', 181 'photos-search-type.c', 182 'photos-search-type-manager.c', 183 'photos-searchbar.c', 184 'photos-selection-controller.c', 185 'photos-selection-toolbar.c', 186 'photos-set-collection-job.c', 187 'photos-share-dialog.c', 188 'photos-share-notification.c', 189 'photos-share-point.c', 190 'photos-share-point-email.c', 191 'photos-share-point-google.c', 192 'photos-share-point-manager.c', 193 'photos-share-point-online.c', 194 'photos-single-item-job.c', 195 'photos-source.c', 196 'photos-source-manager.c', 197 'photos-source-notification.c', 198 'photos-sparql-template.c', 199 'photos-spinner-box.c', 200 'photos-thumbnail-factory.c', 201 'photos-tool.c', 202 'photos-tool-colors.c', 203 'photos-tool-crop.c', 204 'photos-tool-crop-helper.c', 205 'photos-tool-enhance.c', 206 'photos-tool-filter-button.c', 207 'photos-tool-filters.c', 208 'photos-tracker-collection-view-controller.c', 209 'photos-tracker-collections-controller.c', 210 'photos-tracker-controller.c', 211 'photos-tracker-favorites-controller.c', 212 'photos-tracker-import-controller.c', 213 'photos-tracker-overview-controller.c', 214 'photos-tracker-search-controller.c', 215 'photos-tracker-queue.c', 216 'photos-update-mtime-job.c', 217 'photos-utils.c', 218 'photos-view-container.c', 219 'photos-zoom-controls.c', 220 'photos-main.c', 221) 222 223photos_generate_about = find_program('photos-generate-about') 224 225about_header = 'photos-about-data.h' 226 227sources += custom_target( 228 about_header, 229 output: about_header, 230 capture: true, 231 command: [photos_generate_about, '--header'], 232) 233 234about_source = 'photos-about-data.c' 235 236sources += custom_target( 237 about_source, 238 output: about_source, 239 capture: true, 240 command: [photos_generate_about, '--body', artists, authors], 241) 242 243enum_headers = files( 244 'photos-gesture-zoom.h', 245 'photos-item-manager.h', 246 'photos-utils.h', 247) 248 249enum = 'photos-enums' 250 251sources += gnome.mkenums( 252 enum, 253 sources: enum_headers, 254 c_template: enum + '.c.template', 255 h_template: enum + '.h.template', 256) 257 258marshal = 'photos-marshalers' 259 260sources += gnome.genmarshal( 261 marshal, 262 sources: marshal + '.list', 263 prefix: '_photos_marshal', 264) 265 266resource_data = files( 267 '../data/Adwaita.css', 268 '../data/dnd-counter.svg', 269 '../data/icons/image-adjust-color-symbolic.svg', 270 '../data/icons/image-auto-adjust-symbolic.svg', 271 '../data/icons/image-crop-symbolic.svg', 272 '../data/icons/image-denoise-symbolic.svg', 273 '../data/icons/image-edit-symbolic.svg', 274 '../data/icons/image-filter-symbolic.svg', 275 '../data/icons/image-sharpen-symbolic.svg', 276 'photos-dlna-renderers-dialog.ui', 277 'photos-dropdown.ui', 278 'photos-embed.ui', 279 'photos-export-dialog.ui', 280 'photos-help-overlay.ui', 281 'photos-import-dialog.ui', 282 'photos-main-toolbar.ui', 283 'photos-main-window.ui', 284 'photos-preview-menu.ui', 285 'photos-primary-menu.ui', 286 'photos-query-all.sparql.template', 287 'photos-query-collections.sparql.template', 288 'photos-query-favorites.sparql.template', 289 'photos-query-photos.sparql.template', 290 'photos-removable-devices-button.ui', 291 'photos-removable-device-widget.ui', 292 'photos-selection-menu.ui', 293 'photos-selection-toolbar.ui', 294 'photos-share-dialog.ui', 295 'photos-zoom-controls.ui', 296) 297 298sources += gnome.compile_resources( 299 'photos-resources', 300 'photos.gresource.xml', 301 source_dir: '.', 302 c_name: 'photos', 303 dependencies: resource_data, 304 export: true, 305) 306 307dleyna_device = 'photos-dleyna-renderer-device' 308 309sources += gnome.gdbus_codegen( 310 dleyna_device, 311 dleyna_device + '.xml', 312 interface_prefix: 'com.intel.dLeynaRenderer.', 313 namespace: 'Dleyna', 314 annotations: [ 315 'com.intel.dLeynaRenderer.RendererDevice.GetIcon()[Bytes]', 'org.gtk.GDBus.C.ForceGVariant', 'true' 316 ], 317 autocleanup: 'all', 318) 319 320dleyna_manager = 'photos-dleyna-renderer-manager' 321 322sources += gnome.gdbus_codegen( 323 dleyna_manager, 324 dleyna_manager + '.xml', 325 interface_prefix: 'com.intel.dLeynaRenderer.', 326 namespace: 'DleynaRenderer', 327 autocleanup: 'all', 328) 329 330dleyna_push_host = 'photos-dleyna-renderer-push-host' 331 332sources += gnome.gdbus_codegen( 333 dleyna_push_host, 334 dleyna_push_host + '.xml', 335 interface_prefix: 'com.intel.dLeynaRenderer.', 336 namespace: 'DleynaRenderer', 337 autocleanup: 'all', 338) 339 340gom_miner = 'photos-gom-miner' 341 342sources += gnome.gdbus_codegen( 343 gom_miner, 344 gom_miner + '.xml', 345 interface_prefix: 'org.gnome.OnlineMiners.', 346 namespace: 'Gom', 347 autocleanup: 'all', 348) 349 350mpris_player = 'photos-mpris-player' 351 352sources += gnome.gdbus_codegen( 353 mpris_player, 354 mpris_player + '.xml', 355 interface_prefix: 'org.mpris.MediaPlayer2.', 356 namespace: 'Mpris', 357 autocleanup: 'all', 358) 359 360sources += gnome.gdbus_codegen( 361 'photos-shell-search-provider2', 362 'org.gnome.ShellSearchProvider2.xml', 363 interface_prefix: 'org.gnome.Shell.', 364 namespace: 'Shell', 365 autocleanup: 'all', 366) 367 368sources += gnome.gdbus_codegen( 369 'photos-tracker-miner', 370 'org.freedesktop.Tracker3.Miner.xml', 371 interface_prefix: 'org.freedesktop.Tracker3.', 372 namespace: 'Tracker', 373 autocleanup: 'all', 374) 375 376sources += gnome.gdbus_codegen( 377 'photos-tracker-miner-files-index', 378 'org.freedesktop.Tracker3.Miner.Files.Index.xml', 379 interface_prefix: 'org.freedesktop.Tracker3.', 380 namespace: 'Tracker', 381 autocleanup: 'all', 382) 383 384deps = common_deps + [ 385 babl_dep, 386 cairo_dep, 387 geocode_glib_dep, 388 gexiv_dep, 389 goa_dep, 390 grilo_dep, 391 gsettings_desktop_schemas_dep, 392 gtk_dep, 393 gtk_unix_print_dep, 394 libgd_dep, 395 libgdata_dep, 396 libgfgraph_dep, 397 libhandy_dep, 398 m_dep, 399 tracker_sparql_dep, 400] 401 402cflags = [ 403 '-DPACKAGE_LIBEXEC_DIR="@0@"'.format(photos_libexecdir), 404 '-DPACKAGE_LOCALE_DIR="@0@"'.format(photos_localedir), 405] 406 407executable( 408 meson.project_name(), 409 sources, 410 include_directories: top_inc, 411 dependencies: deps, 412 c_args: cflags, 413 install: true, 414 install_dir: photos_bindir, 415 install_rpath: photos_libdir, 416) 417 418sources = common_sources + files( 419 'photos-pixbuf.c', 420 'photos-thumbnailer.c', 421 'photos-thumbnailer-main.c', 422) 423 424executable( 425 meson.project_name() + '-thumbnailer', 426 sources, 427 include_directories: top_inc, 428 dependencies: common_deps, 429 c_args: cflags, 430 install: true, 431 install_dir: photos_libexecdir, 432 install_rpath: photos_libdir, 433) 434