summaryrefslogtreecommitdiff
path: root/src/meson.build
blob: 460092ec544e6d7c97ac39456ed3236a9fb20b6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
subdir('plugins')

sw_graphics_processor = static_library('shotwell-graphics-processor',
               ['ColorTransformation.vala',
                'util/KeyValueMap.vala',
                '_transformation.c'],
               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)

processor = executable('shotwell-graphics-processor',
                       ['graphics-processor.vala'],
                       dependencies: [gio, gdk, gee],
                       link_with: sw_graphics_processor)

shotwell_deps = [gio, gee, sqlite, gtk, sqlite, posix, gphoto2,
                 gstreamer_pbu, gudev, gexiv2, gmodule,
                 libraw, libexif, sw_plugin]

shotwell_libs = [sw_graphics_processor]

face_sources = (['faces/FacesBranch.vala',
                     'faces/FacePage.vala',
                     'faces/FaceShape.vala',
                     'faces/FaceDetect.vala',
                     'faces/Faces.vala',
                     'faces/FacesTool.vala'])

shotwell_deps = [gio, gee, sqlite, gtk, sqlite, posix, gphoto2,
                 gstreamer_pbu, gudev, gexiv2, gmodule, unity,
                 libraw, libexif, sw_plugin, webpdemux, webp, version,
                 portal]

subdir('metadata')
subdir('publishing')
subdir('video-support')

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/FaceLocationTable.vala',
        'db/FaceTable.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',
        'faces/Face.vala',
        'faces/FaceLocation.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/GifSupport.vala',
        'photos/JfifSupport.vala',
        'photos/BmpSupport.vala',
        'photos/RawSupport.vala',
        'photos/PngSupport.vala',
        'photos/TiffSupport.vala',
        'photos/WebPSupport.vala',
        'photos/AvifSupport.vala',
        'photos/HeifSupport.vala',
        'photos/JpegXLSupport.vala',
        'plugins/Plugins.vala',
        'plugins/StandardHostInterface.vala',
        'plugins/ManifestWidget.vala',
        'publishing/Publishing.vala',
        'publishing/PublishingUI.vala',
        'publishing/PublishingPluginHost.vala',
        'publishing/APIGlue.vala',
            'library/BackgroundProgressBar.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/DiscoveredCamera.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',
        'import-roll/ImportRollBranch.vala',
        'import-roll/ImportRollEntry.vala',
        'main.vala',
        'AppWindow.vala',
        'CollectionPage.vala',
        'NaturalCollate.vala',
        'Thumbnail.vala',
        'ThumbnailCache.vala',
        'CheckerboardItem.vala',
        'CheckerboardItemText.vala',
        'CheckerboardLayout.vala',
        'PhotoPage.vala',
        'Page.vala',
        'SinglePhotoPage.vala',
        'CheckerboardPage.vala',
        'DragAndDropHandler.vala',
        'PageMessagePane.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',
        'Tombstone.vala',
        'MetadataWriter.vala',
        'Application.vala',
        'TimedQueue.vala',
        'MediaPage.vala',
        'MediaDataRepresentation.vala',
        'DesktopIntegration.vala',
        'MediaInterfaces.vala',
        'MediaMonitor.vala',
        'PhotoMonitor.vala',
        'VideoMonitor.vala',
        'SearchFilter.vala',
        'MediaViewTracker.vala',
        'UnityProgressBar.vala',
        'Upgrades.vala',
        'dialogs/AdjustDateTimeDialog.vala',
        'dialogs/EntryMultiCompletion.vala',
        'dialogs/ExportDialog.vala',
        'dialogs/MultiTextEntryDialog.vala',
        'dialogs/Preferences.vala',
        'dialogs/ProgressDialog.vala',
        'dialogs/SetBackgroundSlideshow.vala',
        'dialogs/SetBackground.vala',
        'dialogs/TextEntry.vala',
        'dialogs/WelcomeDialog.vala',
        'Profiles.vala',
        'ProfileBrowser.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',
        'video-support/VideoReader.vala',
        'video-support/VideoImportParams.vala',
        'video-support/Video.vala',
        'video-support/VideoSourceCollection.vala',
        'video-support/VideoMetadata.vala'
    ] + shotwell_resources + face_sources,
    include_directories : vapi_incdir,
    dependencies : [
        shotwell_deps,
        sw_publishing_gui,
        metadata,
        metadata_handling
    ],
    vala_args : [
        '--pkg', 'libgphoto2',
        '--pkg', 'libraw',
        '--pkg', 'libexif',
        '--pkg', 'version',
        '--gresources',
        join_paths(meson.project_source_root(), 'data',
        'org.gnome.Shotwell.gresource.xml')
    ],
    link_with: [
        sw_graphics_processor
    ],
    install : true
)