[shotwell] build: Add meson support



commit b77a0711c8a7a590b697bfd1e8403a966e564da0
Author: Jens Georg <mail jensge org>
Date:   Mon May 8 19:45:39 2017 +0200

    build: Add meson support

 app-icons/meson.build                          |   14 ++
 help/meson.build                               |   54 ++++++
 meson.build                                    |   64 +++++++
 misc/meson.build                               |   26 +++
 plugins/authenticator/meson.build              |    1 +
 plugins/authenticator/shotwell/meson.build     |   25 +++
 plugins/meson.build                            |   20 +++
 plugins/shotwell-publishing-extras/meson.build |   21 +++
 plugins/shotwell-publishing/meson.build        |   25 +++
 plugins/shotwell-transitions/meson.build       |   26 +++
 po/meson.build                                 |    1 +
 settings-migrator/meson.build                  |    3 +
 src/meson.build                                |  217 ++++++++++++++++++++++++
 src/plugins/meson.build                        |   14 ++
 thumbnailer/meson.build                        |    5 +
 15 files changed, 516 insertions(+), 0 deletions(-)
---
diff --git a/app-icons/meson.build b/app-icons/meson.build
new file mode 100644
index 0000000..7cf43a7
--- /dev/null
+++ b/app-icons/meson.build
@@ -0,0 +1,14 @@
+install_subdir('16x16',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
+install_subdir('22x22',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
+install_subdir('24x24',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
+install_subdir('256x256',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
+install_subdir('32x32',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
+install_subdir('48x48',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
+install_subdir('symbolic',
+               install_dir: join_paths(get_option('datadir'), 'icons', 'hicolor'))
diff --git a/help/meson.build b/help/meson.build
new file mode 100644
index 0000000..bd49119
--- /dev/null
+++ b/help/meson.build
@@ -0,0 +1,54 @@
+install_man('shotwell.1')
+
+yelp_pages = [
+    'edit-adjustments.page',
+    'edit-crop.page',
+    'edit-date-time.page',
+    'edit-enhance.page',
+    'edit-external.page',
+    'edit-nondestructive.page',
+    'edit-redeye.page',
+    'edit-rotate.page',
+    'edit-straighten.page',
+    'edit-undo.page',
+    'formats.page',
+    'import-camera.page',
+    'import-file.page',
+    'import-f-spot.page',
+    'import-memorycard.page',
+    'index.page',
+    'organize-event.page',
+    'organize-flag.page',
+    'organize-rating.page',
+    'organize-remove.page',
+    'organize-search.page',
+    'organize-tag.page',
+    'organize-title.page',
+    'other-files.page',
+    'other-missing.page',
+    'other-multiple.page',
+    'other-plugins.page',
+    'raw.page',
+    'running.page',
+    'share-background.page',
+    'share-export.page',
+    'share-print.page',
+    'share-send.page',
+    'share-slideshow.page',
+    'share-upload.page',
+    'view-displaying.page',
+    'view-information.page',
+    'view-sidebar.page']
+
+yelp_media = [
+    'figures/edit_toolbar.png',
+    'figures/editing_overview.png',
+    'figures/shotwell_logo.png',
+    'figures/crop_thirds.jpg',
+    'figures/trash_process.png']
+
+gnome.yelp('shotwell',
+           sources : yelp_pages,
+           media : yelp_media,
+           symlink_media : true,
+           languages : [ 'cs', 'de', 'el', 'es', 'hu', 'lv', 'pt_BR', 'sv'])
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..9269aaa
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,64 @@
+project('Shotwell', ['vala', 'c'], version : '0.27.1')
+
+gnome = import('gnome')
+i18n = import('i18n')
+
+conf = configuration_data()
+conf.set('GETTEXT_PACKAGE', '"@0@"'.format(meson.project_name().to_lower()))
+conf.set('_VERSION', '"@0@"'.format(meson.project_version()))
+conf.set('_PREFIX', '"@0@"'.format(get_option('prefix')))
+conf.set('_LANG_SUPPORT_DIR', '"@0@"'.format(join_paths(get_option('prefix'), get_option('localedir'))))
+conf.set('_LIBEXECDIR', '"@0@"'.format(join_paths(get_option('prefix'), get_option('libexecdir'))))
+conf.set('_LIB', '"@0@"'.format(join_paths(get_option('prefix'), get_option('libdir'))))
+
+configure_file(output : 'config.h', configuration: conf)
+config_incdir = include_directories('.')
+vapi_incdir = include_directories('vapi')
+shotwell_plugin_dir = join_paths(get_option('libdir'), 'shotwell', 'plugins', 'builtin')
+
+add_global_arguments('-DHAVE_CONFIG_H=1', language : 'c')
+add_global_arguments(['-include'], ['config.h'], language : 'c')
+add_global_arguments('--target-glib=2.40', language : 'vala')
+add_global_arguments('--vapidir=@0@'.format(join_paths(meson.current_source_dir(),
+    'vapi')), language : 'vala')
+
+gtk = dependency('gtk+-3.0', version : '>= 3.18')
+gio = dependency('gio-2.0', version: '>= 2.40')
+gmodule = dependency('gmodule-2.0', version: '>= 2.40')
+gio_unix = dependency('gio-unix-2.0', version: '>= 2.40')
+gee = dependency('gee-0.8', version: '>= 0.8.5')
+webkit = dependency('webkit2gtk-4.0', version: '>= 2.4')
+soup = dependency('libsoup-2.4')
+json_glib = dependency('json-glib-1.0')
+xml = dependency('libxml-2.0')
+gdk = dependency('gdk-3.0', version : '>= 3.18')
+gdk_pixbuf = dependency('gdk-pixbuf-2.0')
+sqlite = dependency('sqlite3', version : '>= 3.5.9')
+gstreamer = dependency('gstreamer-1.0', version : '>= 1.0')
+gstreamer_pbu = dependency('gstreamer-pbutils-1.0', version : '>= 1.0')
+gphoto2 = dependency('libgphoto2', version : '>= 2.5.0')
+gudev = dependency('gudev-1.0', version : '>= 145')
+gexiv2 = dependency('gexiv2', version: '>= 0.10.4')
+libraw = dependency('libraw', version : '>= 0.13.2')
+libexif = dependency('libexif', version : '>= 0.6.16')
+
+json_glib = dependency('json-glib-1.0')
+gdata = dependency('libgdata')
+gcr = dependency('gcr-3')
+gcr_ui = dependency('gcr-ui-3')
+cairo = dependency('cairo')
+
+valac = meson.get_compiler('vala')
+posix = valac.find_library('posix')
+
+shotwell_resources = gnome.compile_resources('shotwell-resources',
+        'org.gnome.Shotwell.gresource.xml')
+
+subdir('src')
+subdir('plugins')
+subdir('po')
+subdir('help')
+subdir('misc')
+subdir('thumbnailer')
+subdir('settings-migrator')
+subdir('app-icons')
diff --git a/misc/meson.build b/misc/meson.build
new file mode 100644
index 0000000..6a67ce8
--- /dev/null
+++ b/misc/meson.build
@@ -0,0 +1,26 @@
+podir = join_paths('..', 'po')
+
+i18n.merge_file(input : 'shotwell.appdata.xml.in',
+                output : 'shotwell.appdata.xml',
+                po_dir : join_paths('..', 'po'),
+                type : 'xml',
+                install: true,
+                install_dir : join_paths(get_option('datadir'), 'appdata'))
+
+i18n.merge_file(input : 'shotwell.desktop.in',
+                output: 'shotwell.desktop',
+                po_dir : podir,
+                type : 'desktop',
+                install : true,
+                install_dir : join_paths(get_option('datadir'), 'applications'))
+
+i18n.merge_file(input : 'shotwell-viewer.desktop.in',
+                output: 'shotwell-viewer.desktop',
+                po_dir : podir,
+                type : 'desktop',
+                install : true,
+                install_dir : join_paths(get_option('datadir'), 'applications'))
+
+install_data(['org.yorba.shotwell-extras.gschema.xml',
+              'org.yorba.shotwell.gschema.xml'],
+              install_dir : join_paths(get_option('datadir'), 'glib-2.0', 'schemas'))
diff --git a/plugins/authenticator/meson.build b/plugins/authenticator/meson.build
new file mode 100644
index 0000000..5b5fc73
--- /dev/null
+++ b/plugins/authenticator/meson.build
@@ -0,0 +1 @@
+subdir('shotwell')
diff --git a/plugins/authenticator/shotwell/meson.build b/plugins/authenticator/shotwell/meson.build
new file mode 100644
index 0000000..f0cdf33
--- /dev/null
+++ b/plugins/authenticator/shotwell/meson.build
@@ -0,0 +1,25 @@
+authenticator_shotwell_sources = [
+        'ShotwellAuthenticatorFactory.vala',
+        'FacebookPublishingAuthenticator.vala',
+        'FlickrPublishingAuthenticator.vala',
+        'GoogleAuthenticator.vala'
+        ]
+
+authenticator_shotwell_resources = gnome.compile_resources('authenticator-resource',
+        'org.gnome.Shotwell.Authenticator.gresource.xml',
+        source_dir : meson.source_root())
+
+authenticator_shotwell_deps = [gee, gtk, gio, soup, json_glib, sw_plugin,
+                               sw_plugin_common_dep, json_glib, xml, webkit]
+
+authenticator = library('shotwell-authenticator',
+                        authenticator_shotwell_sources,
+                        dependencies : authenticator_shotwell_deps,
+                        include_directories : config_incdir,
+                        vala_args : ['--gresources',
+                        'org.gnome.Shotwell.Authenticator.gresource.xml'],
+                        c_args :
+                        '-DPLUGIN_RESOURCE_PATH="/org/gnome/Shotwell/Authenticator"',
+                        install: true)
+authenticator_dep = declare_dependency(include_directories : include_directories('.'),
+                                       link_with : authenticator)
diff --git a/plugins/common/meson.build b/plugins/common/meson.build
new file mode 100644
index 0000000..e69de29
diff --git a/plugins/meson.build b/plugins/meson.build
new file mode 100644
index 0000000..757b7cd
--- /dev/null
+++ b/plugins/meson.build
@@ -0,0 +1,20 @@
+# Plugin helper library
+
+sw_plugin_common = library('shotwell-plugin-common',
+                          ['common/RESTSupport.vala',
+                           'common/Resources.vala',
+                           'common/WebAuthenticationPane.vala',
+                           'common/BuilderPane.vala'],
+                          dependencies : [gtk, gee, webkit, soup, xml, sw_plugin],
+                          vala_header : 'shotwell-plugin-common.h',
+                          vala_vapi : 'shotwell-plugin-common.vapi',
+                          include_directories : config_incdir,
+                          install : true)
+
+sw_plugin_common_dep = declare_dependency(include_directories : include_directories('.'),
+                                          link_with : sw_plugin_common)
+
+subdir('authenticator')
+subdir('shotwell-publishing')
+subdir('shotwell-publishing-extras')
+subdir('shotwell-transitions')
diff --git a/plugins/shotwell-publishing-extras/meson.build b/plugins/shotwell-publishing-extras/meson.build
new file mode 100644
index 0000000..34f3e12
--- /dev/null
+++ b/plugins/shotwell-publishing-extras/meson.build
@@ -0,0 +1,21 @@
+shotwell_publishing_extra_sources = [
+    'GalleryConnector.vala',
+    'RajcePublishing.vala',
+    'shotwell-publishing-extras.vala',
+    'YandexPublishing.vala'
+    ]
+
+shotwell_publishing_extra_resources = gnome.compile_resources('publishing-extra-resource',
+        'org.gnome.Shotwell.Publishing.Extras.gresource.xml')
+
+shared_module('shotwell-publishing-extras',
+              shotwell_publishing_extra_sources + shotwell_publishing_extra_resources,
+              dependencies : [gee, gtk, xml, soup, gdk_pixbuf, sw_plugin,
+                              sw_plugin_common_dep, json_glib, webkit],
+              vala_args : [
+                  '--gresources', 'org.gnome.Shotwell.Publishing.Extras.gresource.xml'
+                  ],
+              c_args : ['-DPLUGIN_RESOURCE_PATH="/org/gnome/Shotwell/Publishing/Extras"',
+                        '-DGCR_API_SUBJECT_TO_CHANGE'],
+              install: true,
+              install_dir : shotwell_plugin_dir)
diff --git a/plugins/shotwell-publishing/meson.build b/plugins/shotwell-publishing/meson.build
new file mode 100644
index 0000000..45058b8
--- /dev/null
+++ b/plugins/shotwell-publishing/meson.build
@@ -0,0 +1,25 @@
+shotwell_publishing_sources = [
+    'shotwell-publishing.vala',
+    'FacebookPublishing.vala',
+    'PicasaPublishing.vala',
+    'FlickrPublishing.vala',
+    'TumblrPublishing.vala',
+    'YouTubePublishing.vala',
+    'PiwigoPublishing.vala']
+
+shotwell_publishing_resources = gnome.compile_resources('publishing-resource',
+        'org.gnome.Shotwell.Publishing.gresource.xml',
+        source_dir : meson.source_root())
+
+shared_module('shotwell-publishing',
+              shotwell_publishing_sources + shotwell_publishing_resources,
+              dependencies : [gtk, soup, gexiv2, gee, sw_plugin, json_glib,
+                              webkit, sw_plugin_common_dep, xml, gdata, gcr,
+                              gcr_ui, authenticator_dep],
+              vala_args : [
+                  '--gresources', 'org.gnome.Shotwell.Publishing.gresource.xml'
+                  ],
+              c_args : ['-DPLUGIN_RESOURCE_PATH="/org/gnome/Shotwell/Publishing"',
+                        '-DGCR_API_SUBJECT_TO_CHANGE'],
+              install: true,
+              install_dir : shotwell_plugin_dir)
diff --git a/plugins/shotwell-transitions/meson.build b/plugins/shotwell-transitions/meson.build
new file mode 100644
index 0000000..1e7510a
--- /dev/null
+++ b/plugins/shotwell-transitions/meson.build
@@ -0,0 +1,26 @@
+shotwell_transitions_sources = [
+    'BlindsEffect.vala',
+    'ChessEffect.vala',
+    'CircleEffect.vala',
+    'CirclesEffect.vala',
+    'ClockEffect.vala',
+    'CrumbleEffect.vala',
+    'FadeEffect.vala',
+    'shotwell-transitions.vala',
+    'SlideEffect.vala',
+    'SquaresEffect.vala',
+    'StripesEffect.vala']
+
+shotwell_transitions_resources = gnome.compile_resources('transitions-resource',
+        'org.gnome.Shotwell.Transitions.gresource.xml')
+
+shared_module('shotwell-transitions',
+              shotwell_transitions_sources + shotwell_transitions_resources,
+              dependencies : [gio, gdk_pixbuf, cairo, gtk, gdk, xml, sw_plugin,
+                              sw_plugin_common_dep, gee, soup, webkit],
+              vala_args : [
+                  '--gresources', 'org.gnome.Shotwell.Transitions.gresource.xml',
+                  ],
+              c_args : ['-DPLUGIN_RESOURCE_PATH="/org/gnome/Shotwell/Transitions"'],
+              install: true,
+              install_dir : shotwell_plugin_dir)
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 0000000..5523e75
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext('shotwell', preset: 'glib')
diff --git a/settings-migrator/meson.build b/settings-migrator/meson.build
new file mode 100644
index 0000000..449eba9
--- /dev/null
+++ b/settings-migrator/meson.build
@@ -0,0 +1,3 @@
+install_data('shotwell-settings-migrator',
+           install_mode : 'rwxr-xr-x',
+           install_dir : join_paths(get_option('libexecdir'), 'shotwell'))
diff --git a/src/meson.build b/src/meson.build
new file mode 100644
index 0000000..8020753
--- /dev/null
+++ b/src/meson.build
@@ -0,0 +1,217 @@
+subdir('plugins')
+
+sw_graphics_processor = static_library('shotwell-graphics-processor',
+               ['ColorTransformation.vala',
+                'util/KeyValueMap.vala'],
+               vala_header : 'shotwell-graphics-processor.h',
+               vala_vapi : 'shotwell-graphics-processor.vapi',
+               dependencies : [gio, gee, gdk],
+               include_directories : config_incdir,
+               c_args : '-DG_DISABLE_CAST_CHECKS',
+               vala_args : '--disable-assert',
+               install : false)
+
+executable('shotwell',
+           ['unit/Unit.vala',
+            'util/Util.vala',
+            'util/file.vala',
+            'util/image.vala',
+            'util/misc.vala',
+            'util/string.vala',
+            'util/system.vala',
+            'util/ui.vala',
+            'threads/Threads.vala',
+            'threads/Workers.vala',
+            'threads/BackgroundJob.vala',
+            'threads/Semaphore.vala',
+            'db/Db.vala',
+            'db/DatabaseTable.vala',
+            'db/PhotoTable.vala',
+            'db/EventTable.vala',
+            'db/TagTable.vala',
+            'db/TombstoneTable.vala',
+            'db/VideoTable.vala',
+            'db/VersionTable.vala',
+            'db/SavedSearchDBTable.vala',
+            'editing_tools/EditingTools.vala',
+            'editing_tools/RGBHistogramManipulator.vala',
+            'editing_tools/StraightenTool.vala',
+            'slideshow/Slideshow.vala',
+            'slideshow/TransitionEffects.vala',
+            'photos/Photos.vala',
+            'photos/PhotoFileAdapter.vala',
+            'photos/PhotoFileFormat.vala',
+            'photos/PhotoFileSniffer.vala',
+            'photos/PhotoMetadata.vala',
+            'photos/GRaw.vala',
+            'photos/GdkSupport.vala',
+            'photos/JfifSupport.vala',
+            'photos/BmpSupport.vala',
+            'photos/RawSupport.vala',
+            'photos/PngSupport.vala',
+            'photos/TiffSupport.vala',
+            'plugins/Plugins.vala',
+            'plugins/StandardHostInterface.vala',
+            'plugins/ManifestWidget.vala',
+            'publishing/Publishing.vala',
+            'publishing/PublishingUI.vala',
+            'publishing/PublishingPluginHost.vala',
+            'publishing/APIGlue.vala',
+            'library/Library.vala',
+            'library/LibraryWindow.vala',
+            'library/LibraryBranch.vala',
+            'library/TrashSidebarEntry.vala',
+            'library/OfflineSidebarEntry.vala',
+            'library/FlaggedSidebarEntry.vala',
+            'library/LastImportSidebarEntry.vala',
+            'library/ImportQueueSidebarEntry.vala',
+            'library/FlaggedPage.vala',
+            'library/ImportQueuePage.vala',
+            'library/LastImportPage.vala',
+            'library/OfflinePage.vala',
+            'library/TrashPage.vala',
+            'direct/Direct.vala',
+            'direct/DirectWindow.vala',
+            'direct/DirectPhoto.vala',
+            'direct/DirectPhotoPage.vala',
+            'direct/DirectView.vala',
+            'core/Core.vala',
+            'core/DataCollection.vala',
+            'core/DataSet.vala',
+            'core/util.vala',
+            'core/SourceCollection.vala',
+            'core/SourceHoldingTank.vala',
+            'core/DatabaseSourceCollection.vala',
+            'core/ContainerSourceCollection.vala',
+            'core/ViewCollection.vala',
+            'core/DataObject.vala',
+            'core/Alteration.vala',
+            'core/DataSource.vala',
+            'core/DataSourceTypes.vala',
+            'core/DataView.vala',
+            'core/DataViewTypes.vala',
+            'core/Tracker.vala',
+            'core/SourceInterfaces.vala',
+            'sidebar/Sidebar.vala',
+            'sidebar/Branch.vala',
+            'sidebar/Entry.vala',
+            'sidebar/Tree.vala',
+            'sidebar/common.vala',
+            'events/Events.vala',
+            'events/EventsBranch.vala',
+            'events/EventsDirectoryPage.vala',
+            'events/EventPage.vala',
+            'events/EventDirectoryItem.vala',
+            'tags/Tags.vala',
+            'tags/TagsBranch.vala',
+            'tags/TagPage.vala',
+            'tags/HierarchicalTagIndex.vala',
+            'tags/HierarchicalTagUtilities.vala',
+            'camera/Camera.vala',
+            'camera/CameraBranch.vala',
+            'camera/CameraTable.vala',
+            'camera/GPhoto.vala',
+            'camera/ImportPage.vala',
+            'searches/Searches.vala',
+            'searches/SearchesBranch.vala',
+            'searches/SearchBoolean.vala',
+            'searches/SavedSearchPage.vala',
+            'searches/SavedSearchDialog.vala',
+            'config/Config.vala',
+            'config/ConfigurationInterfaces.vala',
+            'config/GSettingsEngine.vala',
+            'data_imports/DataImports.vala',
+            'data_imports/DataImportsPluginHost.vala',
+            'data_imports/DataImportsUI.vala',
+            'data_imports/DataImportJob.vala',
+            'data_imports/DataImportSource.vala',
+            'folders/Folders.vala',
+            'folders/FoldersBranch.vala',
+            'folders/FoldersPage.vala',
+            'main.vala',
+            'AppWindow.vala',
+            'CollectionPage.vala',
+            'NaturalCollate.vala',
+            'Thumbnail.vala',
+            'ThumbnailCache.vala',
+            'CheckerboardLayout.vala',
+            'PhotoPage.vala',
+            'Page.vala',
+            'SortedList.vala',
+            'Dimensions.vala',
+            'Box.vala',
+            'Photo.vala',
+            'Orientation.vala',
+            'BatchImport.vala',
+            'Dialogs.vala',
+            'Resources.vala',
+            'Debug.vala',
+            'Properties.vala',
+            'Event.vala',
+            'International.vala',
+            'AppDirs.vala',
+            'PixbufCache.vala',
+            'CommandManager.vala',
+            'Commands.vala',
+            'SlideshowPage.vala',
+            'LibraryFiles.vala',
+            'Printing.vala',
+            'Tag.vala',
+            'Screensaver.vala',
+            'Exporter.vala',
+            'DirectoryMonitor.vala',
+            'LibraryMonitor.vala',
+            'VideoSupport.vala',
+            'Tombstone.vala',
+            'MetadataWriter.vala',
+            'Application.vala',
+            'TimedQueue.vala',
+            'MediaPage.vala',
+            'MediaDataRepresentation.vala',
+            'DesktopIntegration.vala',
+            'MediaInterfaces.vala',
+            'MediaMetadata.vala',
+            'VideoMetadata.vala',
+            'MediaMonitor.vala',
+            'PhotoMonitor.vala',
+            'VideoMonitor.vala',
+            'SearchFilter.vala',
+            'MediaViewTracker.vala',
+            'UnityProgressBar.vala',
+            'Upgrades.vala',
+            '.unitize/_UnitInternals.vala',
+            '.unitize/_UtilInternals.vala',
+            '.unitize/_ThreadsInternals.vala',
+            '.unitize/_DbInternals.vala',
+            '.unitize/_EditingToolsInternals.vala',
+            '.unitize/_PluginsInternals.vala',
+            '.unitize/_SlideshowInternals.vala',
+            '.unitize/_PhotosInternals.vala',
+            '.unitize/_PublishingInternals.vala',
+            '.unitize/_LibraryInternals.vala',
+            '.unitize/_DirectInternals.vala',
+            '.unitize/_CoreInternals.vala',
+            '.unitize/_SidebarInternals.vala',
+            '.unitize/_EventsInternals.vala',
+            '.unitize/_TagsInternals.vala',
+            '.unitize/_CameraInternals.vala',
+            '.unitize/_SearchesInternals.vala',
+            '.unitize/_ConfigInternals.vala',
+            '.unitize/_DataImportsInternals.vala',
+            '.unitize/_FoldersInternals.vala',
+            '.unitize/_Library_unitize_entry.vala',
+            '.unitize/_Direct_unitize_entry.vala'] + shotwell_resources,
+           include_directories : vapi_incdir,
+           dependencies : [gio, gee, sqlite, gtk, sqlite, posix, gphoto2,
+                           gstreamer_pbu, gio_unix, gudev, gexiv2, gmodule,
+                           libraw, libexif, sw_plugin],
+           vala_args : ['--pkg', 'libgphoto2',
+                        '--pkg', 'libraw',
+                        '--pkg', 'libexif',
+                        '--pkg', 'misc',
+                        '--gresources',
+                        join_paths(meson.source_root(),
+                          'org.gnome.Shotwell.gresource.xml')
+                       ],
+           link_with: [sw_graphics_processor],
+           install : true)
diff --git a/src/plugins/meson.build b/src/plugins/meson.build
new file mode 100644
index 0000000..e102498
--- /dev/null
+++ b/src/plugins/meson.build
@@ -0,0 +1,14 @@
+# Plugin helper library
+sw_plugin_dev = static_library('shotwell-plugin-dev-1.0',
+                               ['DataImportsInterfaces.vala',
+                                'PublishingInterfaces.vala',
+                                'SpitInterfaces.vala',
+                                'TransitionsInterfaces.vala'],
+                                vala_header : 'shotwell-plugin-dev-1.0.h',
+                                vala_vapi : 'shotwell-plugin-dev-1.0.vapi',
+                                dependencies : [gmodule, gtk, gio, gee],
+                                include_directories : config_incdir,
+                                install : false)
+
+sw_plugin = declare_dependency(include_directories : include_directories('.'),
+        link_with : sw_plugin_dev)
diff --git a/thumbnailer/meson.build b/thumbnailer/meson.build
new file mode 100644
index 0000000..29acb1f
--- /dev/null
+++ b/thumbnailer/meson.build
@@ -0,0 +1,5 @@
+executable('shotwell-video-thumbnailer',
+           'shotwell-video-thumbnailer.vala',
+           dependencies : [posix, gstreamer, gee, gdk_pixbuf],
+           install : true,
+           install_dir : join_paths(get_option('libexecdir'), 'shotwell'))


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]