subdir('resources') # Desktop Portal D-Bus interfaces desktop_portal_dbus_interfaces = [ 'org.freedesktop.impl.portal.FileChooser', 'org.freedesktop.impl.portal.Request', ] desktop_portal_dbus_interfaces_files = [] foreach intf: desktop_portal_dbus_interfaces desktop_portal_dbus_interfaces_files += [meson.project_source_root() / 'data' / '@0@.xml'.format(intf)] endforeach libnautilus_sources = [ gnome.mkenums( 'nautilus-enum-types', c_template: 'nautilus-enum-types.c.template', h_template: 'nautilus-enum-types.h.template', sources: [ 'nautilus-enums.h', 'nautilus-search-popover.h', ] ), resources, gnome.gdbus_codegen( 'nautilus-freedesktop-generated', join_paths( meson.project_source_root(), 'data', 'freedesktop-dbus-interfaces.xml' ), interface_prefix: 'org.freedesktop', namespace: 'NautilusFreedesktop' ), gnome.gdbus_codegen( 'nautilus-generated2', join_paths( meson.project_source_root(), 'data', 'dbus-interfaces2.xml' ), interface_prefix: 'org.gnome.Nautilus', namespace: 'NautilusDBus' ), gnome.gdbus_codegen( 'nautilus-shell-search-provider-generated', join_paths( meson.project_source_root(), 'data', 'shell-search-provider-dbus-interfaces.xml' ), interface_prefix: 'org.gnome', namespace: 'Nautilus' ), gnome.gdbus_codegen( 'xdg-desktop-portal-dbus', sources: desktop_portal_dbus_interfaces_files, interface_prefix: 'org.freedesktop.impl.portal.', namespace: 'XdpImpl', ), 'nautilus-app-chooser.c', 'nautilus-app-chooser.h', 'nautilus-app-chooser-widget.c', 'nautilus-app-chooser-widget.h', 'nautilus-application.c', 'nautilus-application.h', 'nautilus-batch-rename-dialog.c', 'nautilus-batch-rename-dialog.h', 'nautilus-batch-rename-item.c', 'nautilus-batch-rename-item.h', 'nautilus-batch-rename-utilities.c', 'nautilus-batch-rename-utilities.h', 'nautilus-bookmark.c', 'nautilus-bookmark.h', 'nautilus-bookmark-list.c', 'nautilus-bookmark-list.h', 'nautilus-clipboard.c', 'nautilus-clipboard.h', 'nautilus-column-chooser.c', 'nautilus-column-chooser.h', 'nautilus-column-utilities.c', 'nautilus-column-utilities.h', 'nautilus-compress-dialog.c', 'nautilus-compress-dialog.h', 'nautilus-date-entry-row.c', 'nautilus-date-entry-row.h', 'nautilus-date-range-dialog.c', 'nautilus-date-range-dialog.h', 'nautilus-date-utilities.c', 'nautilus-date-utilities.h', 'nautilus-dbus-launcher.c', 'nautilus-dbus-launcher.h', 'nautilus-dbus-manager.c', 'nautilus-dbus-manager.h', 'nautilus-dialog-utilities.c', 'nautilus-dialog-utilities.h', 'nautilus-directory.c', 'nautilus-directory.h', 'nautilus-directory-async.c', 'nautilus-directory-notify.h', 'nautilus-directory-private.h', 'nautilus-dnd.c', 'nautilus-dnd.h', 'nautilus-enums.h', 'nautilus-error-reporting.c', 'nautilus-error-reporting.h', 'nautilus-fd-holder.c', 'nautilus-fd-holder.h', 'nautilus-file.c', 'nautilus-file.h', 'nautilus-file-changes-queue.c', 'nautilus-file-changes-queue.h', 'nautilus-file-chooser.c', 'nautilus-file-chooser.h', 'nautilus-file-conflict-dialog.c', 'nautilus-file-conflict-dialog.h', 'nautilus-file-operations-dbus-data.c', 'nautilus-file-operations-dbus-data.h', 'nautilus-file-operations.c', 'nautilus-file-operations.h', 'nautilus-file-private.h', 'nautilus-file-undo-manager.c', 'nautilus-file-undo-manager.h', 'nautilus-file-undo-operations.c', 'nautilus-file-undo-operations.h', 'nautilus-file-utilities.c', 'nautilus-file-utilities.h', 'nautilus-filename-utilities.c', 'nautilus-filename-utilities.h', 'nautilus-filename-validator.c', 'nautilus-filename-validator.h', 'nautilus-files-view-dnd.c', 'nautilus-files-view-dnd.h', 'nautilus-files-view.c', 'nautilus-files-view.h', 'nautilus-floating-bar.c', 'nautilus-floating-bar.h', 'nautilus-freedesktop-dbus.c', 'nautilus-freedesktop-dbus.h', 'nautilus-global-preferences.c', 'nautilus-global-preferences.h', 'nautilus-grid-cell.c', 'nautilus-grid-cell.h', 'nautilus-grid-view.c', 'nautilus-grid-view.h', 'nautilus-grid-view-captions-dialog.c', 'nautilus-grid-view-captions-dialog.h', 'nautilus-hash-queue.c', 'nautilus-hash-queue.h', 'nautilus-history-controls.c', 'nautilus-history-controls.h', 'nautilus-icon-info.c', 'nautilus-icon-info.h', 'nautilus-icon-names.h', 'nautilus-image.c', 'nautilus-image.h', 'nautilus-internal-place-file.c', 'nautilus-internal-place-file.h', 'nautilus-keyfile-metadata.c', 'nautilus-keyfile-metadata.h', 'nautilus-label-cell.c', 'nautilus-label-cell.h', 'nautilus-list-base.c', 'nautilus-list-base.h', 'nautilus-list-view.c', 'nautilus-list-view.h', 'nautilus-localsearch-utilities.c', 'nautilus-localsearch-utilities.h', 'nautilus-location-banner.c', 'nautilus-location-entry.c', 'nautilus-location-entry.h', 'nautilus-metadata.c', 'nautilus-metadata.h', 'nautilus-mime-actions.c', 'nautilus-mime-actions.h', 'nautilus-minimal-cell.c', 'nautilus-minimal-cell.h', 'nautilus-module.c', 'nautilus-module.h', 'nautilus-monitor.c', 'nautilus-monitor.h', 'nautilus-name-cell.c', 'nautilus-name-cell.h', 'nautilus-network-address-bar.c', 'nautilus-network-address-bar.h', 'nautilus-network-cell.c', 'nautilus-network-cell.h', 'nautilus-network-directory.c', 'nautilus-network-directory.h', 'nautilus-network-view.c', 'nautilus-network-view.h', 'nautilus-new-folder-dialog.c', 'nautilus-new-folder-dialog.h', 'nautilus-operations-ui-manager.c', 'nautilus-operations-ui-manager.h', 'nautilus-pathbar.c', 'nautilus-pathbar.h', 'nautilus-portal.c', 'nautilus-portal.h', 'nautilus-portal-request.c', 'nautilus-portal-request.h', 'nautilus-preferences-dialog.c', 'nautilus-preferences-dialog.h', 'nautilus-previewer.c', 'nautilus-previewer.h', 'nautilus-program-choosing.c', 'nautilus-program-choosing.h', 'nautilus-progress-indicator.c', 'nautilus-progress-indicator.h', 'nautilus-progress-info-manager.c', 'nautilus-progress-info-manager.h', 'nautilus-progress-info-widget.c', 'nautilus-progress-info-widget.h', 'nautilus-progress-info.c', 'nautilus-progress-info.h', 'nautilus-progress-paintable.c', 'nautilus-progress-paintable.h', 'nautilus-progress-persistence-handler.c', 'nautilus-progress-persistence-handler.h', 'nautilus-properties.c', 'nautilus-properties.h', 'nautilus-query.c', 'nautilus-query-editor.c', 'nautilus-query-editor.h', 'nautilus-recent-servers.c', 'nautilus-recent-servers.h', 'nautilus-rename-file-popover.c', 'nautilus-rename-file-popover.h', 'nautilus-scheme.c', 'nautilus-scheme.h', 'nautilus-search-directory.c', 'nautilus-search-directory.h', 'nautilus-search-directory-file.c', 'nautilus-search-directory-file.h', 'nautilus-search-engine.c', 'nautilus-search-engine.h', 'nautilus-search-engine-localsearch.c', 'nautilus-search-engine-localsearch.h', 'nautilus-search-engine-model.c', 'nautilus-search-engine-model.h', 'nautilus-search-engine-recent.c', 'nautilus-search-engine-recent.h', 'nautilus-search-engine-simple.c', 'nautilus-search-engine-simple.h', 'nautilus-search-hit.c', 'nautilus-search-hit.h', 'nautilus-search-popover.c', 'nautilus-search-popover.h', 'nautilus-search-provider.c', 'nautilus-search-provider.h', 'nautilus-shell-search-provider.c', 'nautilus-shortcut-manager.c', 'nautilus-shortcut-manager.h', 'nautilus-sidebar.c', 'nautilus-sidebar.h', 'nautilus-sidebar-row.c', 'nautilus-sidebar-row.h', 'nautilus-signaller.c', 'nautilus-signaller.h', 'nautilus-star-cell.c', 'nautilus-star-cell.h', 'nautilus-starred-directory.c', 'nautilus-starred-directory.h', 'nautilus-tag-manager.c', 'nautilus-tag-manager.h', 'nautilus-thumbnails.c', 'nautilus-thumbnails.h', 'nautilus-toolbar.c', 'nautilus-toolbar.h', 'nautilus-trash-monitor.c', 'nautilus-trash-monitor.h', 'nautilus-types.h', 'nautilus-ui-utilities.c', 'nautilus-ui-utilities.h', 'nautilus-vfs-directory.c', 'nautilus-vfs-directory.h', 'nautilus-vfs-file.c', 'nautilus-vfs-file.h', 'nautilus-view-cell.c', 'nautilus-view-cell.h', 'nautilus-view-controls.c', 'nautilus-view-controls.h', 'nautilus-view-info.h', 'nautilus-view-item.c', 'nautilus-view-item.h', 'nautilus-view-item-filter.c', 'nautilus-view-item-filter.h', 'nautilus-view-model.c', 'nautilus-view-model.h', 'nautilus-window.c', 'nautilus-window.h', 'nautilus-window-slot.c', 'nautilus-window-slot.h', 'nautilus-x-content-bar.c', 'nautilus-x-content-bar.h', ] nautilus_deps = [ cloudproviders, config_h, gio_unix, glycin, glycin_gtk4, gmodule, gnome_autoar, gnome_desktop, icu_dep, icu_i18n_dep, libadwaita, libgxdp, libportal, libportal_gtk4, nautilus_extension, selinux, tinysparql, ] 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, # nautilus-main.c, which is part of the main Nautilus executable, uses # the header, generated by glib-compile-resources. Passing it on from here # will ensure that an internal compile-time dependency is placed on this file, # thus avoiding failures that are difficult to reproduce. sources: resources ) nautilus = executable( 'nautilus', 'nautilus-main.c', dependencies: libnautilus_dep, install: true ) executable( 'nautilus-autorun-software', 'nautilus-autorun-software.c', include_directories: nautilus_include_dirs, dependencies: [ config_h, gtk, libadwaita, ], install: true )