summaryrefslogtreecommitdiff
path: root/src/meson.build
blob: 46f010a0ecf237e3ae2deea7ebe2c3537431e487 (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
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
built_sources = []
gdbus_sources = []
enums = []

gdbus_sources += gnome.gdbus_codegen ('nautilus-freedesktop-generated',
                                      join_paths (meson.source_root (), 'data', 'freedesktop-dbus-interfaces.xml'),
                                      interface_prefix: 'org.freedesktop',
                                      namespace: 'NautilusFreedesktop')
# The header is used in nautilus-desktop.
built_sources += gdbus_sources

gdbus_sources += gnome.gdbus_codegen ('nautilus-generated',
                                      join_paths (meson.source_root (), 'data', 'dbus-interfaces.xml'),
                                      interface_prefix: 'org.gnome.Nautilus',
                                      namespace: 'NautilusDBus')

gdbus_sources += gnome.gdbus_codegen ('nautilus-shell-search-provider-generated',
                                      join_paths (meson.source_root (), 'data', 'shell-search-provider-dbus-interfaces.xml'),
                                      interface_prefix: 'org.gnome',
                                      namespace: 'Nautilus')

enum_headers = [
    'nautilus-search-popover.h',
    'nautilus-special-location-bar.h',
    'nautilus-query.h',
    'nautilus-search-provider.h'
]

enums += gnome.mkenums ('nautilus-enum-types',
                        c_template: 'nautilus-enum-types.c.template',
                        h_template: 'nautilus-enum-types.h.template',
                        sources: enum_headers)

resources = gnome.compile_resources ('nautilus-resources',
                                     'resources/nautilus.gresource.xml',
                                     source_dir: 'resources',
                                     c_name: 'nautilus',
                                     extra_args: '--manual-register')
built_sources += resources[1]

libnautilus_sources = [
    enums,
    gdbus_sources,
    resources[0],
    'animation/egg-animation.c',
    'animation/egg-animation.h',
    'animation/egg-frame-source.c',
    'animation/egg-frame-source.h',
    'animation/ide-box-theatric.c',
    'animation/ide-box-theatric.h',
    'animation/ide-cairo.c',
    'animation/ide-cairo.h',
    'gtk/nautilusgtkplacesview.c',
    'gtk/nautilusgtkplacesviewprivate.h',
    'gtk/nautilusgtkplacesviewrow.c',
    'gtk/nautilusgtkplacesviewrowprivate.h',
    'nautilus-application.c',
    'nautilus-application.h',
    'nautilus-bookmark-list.c',
    'nautilus-bookmark-list.h',
    'nautilus-canvas-view.c',
    'nautilus-canvas-view.h',
    'nautilus-canvas-view-container.c',
    'nautilus-canvas-view-container.h',
    'nautilus-container-max-width.c',
    'nautilus-container-max-width.h',
    'nautilus-dbus-manager.c',
    'nautilus-dbus-manager.h',
    'nautilus-desktop-item-properties.c',
    'nautilus-desktop-item-properties.h',
    'nautilus-error-reporting.c',
    'nautilus-error-reporting.h',
    'nautilus-preferences-window.c',
    'nautilus-preferences-window.h',
    'nautilus-files-view.c',
    'nautilus-files-view.h',
    'nautilus-files-view-dnd.c',
    'nautilus-files-view-dnd.h',
    'nautilus-floating-bar.c',
    'nautilus-floating-bar.h',
    'nautilus-freedesktop-dbus.c',
    'nautilus-freedesktop-dbus.h',
    'nautilus-image-properties-page.c',
    'nautilus-image-properties-page.h',
    'nautilus-list-model.c',
    'nautilus-list-model.h',
    'nautilus-list-view.c',
    'nautilus-list-view.h',
    'nautilus-list-view-private.h',
    'nautilus-list-view-dnd.c',
    'nautilus-list-view-dnd.h',
    'nautilus-location-entry.c',
    'nautilus-location-entry.h',
    'nautilus-mime-actions.c',
    'nautilus-mime-actions.h',
    'nautilus-notebook.c',
    'nautilus-notebook.h',
    'nautilus-other-locations-window-slot.c',
    'nautilus-other-locations-window-slot.h',
    'nautilus-pathbar.c',
    'nautilus-pathbar.h',
    'nautilus-places-view.c',
    'nautilus-places-view.h',
    'nautilus-previewer.c',
    'nautilus-previewer.h',
    'nautilus-progress-info-widget.c',
    'nautilus-progress-info-widget.h',
    'nautilus-progress-persistence-handler.c',
    'nautilus-progress-persistence-handler.h',
    'nautilus-properties-window.c',
    'nautilus-properties-window.h',
    'nautilus-query-editor.c',
    'nautilus-query-editor.h',
    'nautilus-search-popover.c',
    'nautilus-self-check-functions.c',
    'nautilus-self-check-functions.h',
    'nautilus-shell-search-provider.c',
    'nautilus-special-location-bar.c',
    'nautilus-toolbar.c',
    'nautilus-toolbar.h',
    'nautilus-toolbar-menu-sections.h',
    'nautilus-trash-bar.c',
    'nautilus-trash-bar.h',
    'nautilus-view.c',
    'nautilus-view.h',
    'nautilus-view-icon-controller.c',
    'nautilus-view-icon-controller.h',
    'nautilus-view-icon-item-ui.c',
    'nautilus-view-icon-item-ui.h',
    'nautilus-view-icon-ui.c',
    'nautilus-view-icon-ui.h',
    'nautilus-view-item-model.c',
    'nautilus-view-item-model.h',
    'nautilus-view-model.c',
    'nautilus-view-model.h',
    'nautilus-window-slot.c',
    'nautilus-window-slot.h',
    'nautilus-window-slot-dnd.c',
    'nautilus-window-slot-dnd.h',
    'nautilus-window.c',
    'nautilus-window.h',
    'nautilus-x-content-bar.c',
    'nautilus-x-content-bar.h',
    'nautilus-bookmark.c',
    'nautilus-bookmark.h',
    'nautilus-canvas-container.c',
    'nautilus-canvas-container.h',
    'nautilus-canvas-dnd.c',
    'nautilus-canvas-dnd.h',
    'nautilus-canvas-item.c',
    'nautilus-canvas-item.h',
    'nautilus-canvas-private.h',
    'nautilus-clipboard.c',
    'nautilus-clipboard.h',
    'nautilus-column-chooser.c',
    'nautilus-column-chooser.h',
    'nautilus-column-utilities.c',
    'nautilus-column-utilities.h',
    'nautilus-debug.c',
    'nautilus-debug.h',
    'nautilus-directory-async.c',
    'nautilus-directory-notify.h',
    'nautilus-directory-private.h',
    'nautilus-directory.c',
    'nautilus-directory.h',
    'nautilus-dnd.c',
    'nautilus-dnd.h',
    'nautilus-file-attributes.h',
    'nautilus-file-changes-queue.c',
    'nautilus-file-changes-queue.h',
    'nautilus-file-conflict-dialog.c',
    'nautilus-file-conflict-dialog.h',
    'nautilus-file-name-widget-controller.c',
    'nautilus-file-name-widget-controller.h',
    'nautilus-rename-file-popover-controller.c',
    'nautilus-rename-file-popover-controller.h',
    'nautilus-new-folder-dialog-controller.c',
    'nautilus-new-folder-dialog-controller.h',
    'nautilus-compress-dialog-controller.c',
    'nautilus-compress-dialog-controller.h',
    'nautilus-operations-ui-manager.c',
    'nautilus-operations-ui-manager.h',
    'nautilus-file-operations.c',
    'nautilus-file-operations.h',
    'nautilus-file-private.h',
    'nautilus-file-queue.c',
    'nautilus-file-queue.h',
    'nautilus-file-utilities.c',
    'nautilus-file-utilities.h',
    'nautilus-file.c',
    'nautilus-file.h',
    'nautilus-global-preferences.c',
    'nautilus-global-preferences.h',
    'nautilus-icon-info.c',
    'nautilus-icon-info.h',
    'nautilus-icon-names.h',
    'nautilus-keyfile-metadata.c',
    'nautilus-keyfile-metadata.h',
    'nautilus-lib-self-check-functions.c',
    'nautilus-lib-self-check-functions.h',
    'nautilus-link.c',
    'nautilus-link.h',
    'nautilus-metadata.h',
    'nautilus-metadata.c',
    'nautilus-mime-application-chooser.c',
    'nautilus-mime-application-chooser.h',
    'nautilus-module.c',
    'nautilus-module.h',
    'nautilus-monitor.c',
    'nautilus-monitor.h',
    'nautilus-profile.c',
    'nautilus-profile.h',
    'nautilus-progress-info.c',
    'nautilus-progress-info.h',
    'nautilus-progress-info-manager.c',
    'nautilus-progress-info-manager.h',
    'nautilus-program-choosing.c',
    'nautilus-program-choosing.h',
    'nautilus-recent.c',
    'nautilus-recent.h',
    'nautilus-search-directory.c',
    'nautilus-search-directory.h',
    'nautilus-search-directory-file.c',
    'nautilus-search-directory-file.h',
    'nautilus-search-provider.c',
    'nautilus-search-provider.h',
    'nautilus-search-engine.c',
    'nautilus-search-engine.h',
    'nautilus-search-engine-model.c',
    'nautilus-search-engine-model.h',
    'nautilus-search-engine-simple.c',
    'nautilus-search-engine-simple.h',
    'nautilus-search-hit.c',
    'nautilus-search-hit.h',
    'nautilus-selection-canvas-item.c',
    'nautilus-selection-canvas-item.h',
    'nautilus-signaller.h',
    'nautilus-signaller.c',
    'nautilus-query.c',
    'nautilus-thumbnails.c',
    'nautilus-thumbnails.h',
    'nautilus-trash-monitor.c',
    'nautilus-trash-monitor.h',
    'nautilus-tree-view-drag-dest.c',
    'nautilus-tree-view-drag-dest.h',
    'nautilus-ui-utilities.c',
    'nautilus-ui-utilities.h',
    'nautilus-video-mime-types.h',
    'nautilus-vfs-directory.c',
    'nautilus-vfs-directory.h',
    'nautilus-vfs-file.c',
    'nautilus-vfs-file.h',
    'nautilus-file-undo-operations.c',
    'nautilus-file-undo-operations.h',
    'nautilus-file-undo-manager.c',
    'nautilus-file-undo-manager.h',
    'nautilus-batch-rename-dialog.c',
    'nautilus-batch-rename-dialog.h',
    'nautilus-batch-rename-utilities.c',
    'nautilus-batch-rename-utilities.h',
    'nautilus-search-engine-tracker.c',
    'nautilus-search-engine-tracker.h',
    'nautilus-tag-manager.c',
    'nautilus-tag-manager.h',
    'nautilus-favorite-directory.c',
    'nautilus-favorite-directory.h'
]

nautilus_deps = [glib,
                 gtk,
                 autoar,
                 xml,
                 gsettings_desktop_schemas,
                 libgd_dep,
                 gail,
                 gnome_desktop,
                 eel_2,
                 nautilus_extension,
                 x11,
                 gmodule_no_export,
                 tracker_sparql]

if get_option ('enable-exif')
    nautilus_deps += exif
endif

if get_option ('enable-selinux')
    nautilus_deps += selinux
endif

if get_option ('enable-xmp')
    nautilus_deps += exempi
endif

libnautilus = static_library ('nautilus',
                              libnautilus_sources,
                              dependencies: nautilus_deps,
                              include_directories: nautilus_include_dirs)

libnautilus_include_dirs = include_directories ('.')

libnautilus_dep = declare_dependency (link_with: libnautilus,
                                      include_directories: [nautilus_include_dirs,
                                                            libnautilus_include_dirs],
                                      dependencies: nautilus_deps,
                                      sources: built_sources)

nautilus = executable ('nautilus',
                       'nautilus-main.c',
                       dependencies: libnautilus_dep,
                       install: true)

test ('nautilus', nautilus, args: ['--check', '--g-fatal-warnings'])

nautilus_autorun_software = executable ('nautilus-autorun-software',
                                        'nautilus-autorun-software.c',
                                        dependencies: libnautilus_dep,
                                        install: true)