summaryrefslogtreecommitdiff
path: root/src/meson.build
blob: c452a986f03c64ee7518d7b5b7b0e84def580645 (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
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)

face_sources = []
if get_option('face-detection')
  face_sources = (['faces/FacesBranch.vala',
                     'faces/FaceLocation.vala',
                     'faces/FacePage.vala',
                     'faces/FaceShape.vala',
                     'faces/Faces.vala',
                     'faces/Face.vala',
                     'db/FaceLocationTable.vala',
                     'db/FaceTable.vala',
                     'faces/FacesTool.vala'])
endif

shotwell_deps = [gio, gee, sqlite, gtk, sqlite, posix, gphoto2,
                 gstreamer_pbu, gio_unix, gudev, gexiv2, gmodule,
                 libraw, libexif, sw_plugin]
if unity_available
    shotwell_deps += [unity]
endif
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/GifSupport.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',
            'import-roll/ImportRollBranch.vala',
            'import-roll/ImportRollEntry.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',
            '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',
            '.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 + face_sources,
           include_directories : vapi_incdir,
           dependencies : shotwell_deps,
           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)