summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/meson.build80
-rw-r--r--help/meson.build11
-rw-r--r--meson.build141
-rw-r--r--meson_options.txt20
-rw-r--r--plugins/docinfo/meson.build33
-rw-r--r--plugins/externaltools/data/meson.build32
-rw-r--r--plugins/externaltools/meson.build20
-rw-r--r--plugins/externaltools/scripts/meson.build1
-rw-r--r--plugins/externaltools/tools/meson.build17
-rw-r--r--plugins/filebrowser/meson.build110
-rw-r--r--plugins/meson.build19
-rw-r--r--plugins/modelines/meson.build38
-rw-r--r--plugins/pythonconsole/meson.build28
-rw-r--r--plugins/pythonconsole/pythonconsole/meson.build11
-rw-r--r--plugins/quickopen/meson.build18
-rw-r--r--plugins/quickopen/quickopen/meson.build7
-rw-r--r--plugins/snippets/data/lang/meson.build4
-rw-r--r--plugins/snippets/data/meson.build28
-rw-r--r--plugins/snippets/meson.build19
-rw-r--r--plugins/snippets/snippets/meson.build23
-rw-r--r--plugins/sort/meson.build33
-rw-r--r--plugins/spell/meson.build60
-rw-r--r--plugins/taglist/meson.build64
-rw-r--r--plugins/time/meson.build47
-rw-r--r--plugins/trailsave/meson.build31
-rw-r--r--pluma/dialogs/meson.build24
m---------pluma/mate-submodules0
-rw-r--r--pluma/meson.build179
-rw-r--r--po/meson.build1
-rw-r--r--subprojects/mate-submodules.wrap9
-rw-r--r--tests/document-saver.c24
-rw-r--r--tests/meson.build27
32 files changed, 1157 insertions, 2 deletions
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 00000000..8e936a3d
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,80 @@
+desktop_conf = configuration_data()
+desktop_conf.set('VERSION', meson.project_version())
+desktop_conf.set('FULL_LIBEXECDIR', join_paths(libexecdir, 'pluma'))
+desktop_in = configure_file(
+ input: 'pluma.desktop.in.in',
+ output: 'pluma.desktop.in',
+ configuration: desktop_conf,
+)
+i18n.merge_file(
+ input: desktop_in,
+ output: 'pluma.desktop',
+ type: 'desktop',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ install: true,
+ install_dir: join_paths(datadir, 'applications'),
+)
+
+appdata_conf = configuration_data()
+appdata_conf.set('VERSION', meson.project_version())
+appdata_in = configure_file(
+ input: 'pluma.appdata.xml.in.in',
+ output: 'pluma.appdata.xml.in',
+ configuration: appdata_conf,
+)
+i18n.merge_file(
+ input: appdata_in,
+ output: 'pluma.appdata.xml',
+ type: 'xml',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ install: true,
+ install_dir: join_paths(datadir, 'metainfo'),
+)
+
+schema_conf = configuration_data()
+schema_conf.set('GETTEXT_PACKAGE', 'pluma')
+schema_conf.set('TOOLBAR_STYLE', 'PLUMA_TOOLBAR_SYSTEM')
+schema_xml = configure_file(
+ input: 'org.mate.pluma.gschema.xml.in',
+ output: 'org.mate.pluma.gschema.xml',
+ configuration: schema_conf,
+ install: true,
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas'),
+)
+
+glib_compile_schemas = find_program('glib-compile-schemas')
+gsettings_schema_builddir = meson.current_build_dir()
+gsettings_schema_target = custom_target(
+ 'gsettings-schema-compiled',
+ output: 'gschemas.compiled',
+ input: schema_xml,
+ command: [glib_compile_schemas, '--targetdir', gsettings_schema_builddir, gsettings_schema_builddir],
+ build_by_default: true,
+)
+
+install_man('pluma.1')
+
+pluma_pc_conf = configuration_data()
+pluma_pc_conf.set('prefix', prefix)
+pluma_pc_conf.set('exec_prefix', '${prefix}')
+pluma_pc_conf.set('libdir', libdir)
+pluma_pc_conf.set('includedir', includedir)
+pluma_pc_conf.set('VERSION', meson.project_version())
+configure_file(
+ input: 'pluma.pc.in',
+ output: 'pluma.pc',
+ configuration: pluma_pc_conf,
+ install: true,
+ install_dir: join_paths(libdir, 'pkgconfig'),
+)
+
+bugreport_conf = configuration_data()
+bugreport_conf.set('libexecdir', libexecdir)
+configure_file(
+ input: 'pluma-bugreport.sh.in',
+ output: 'pluma-bugreport.sh',
+ configuration: bugreport_conf,
+ install: true,
+ install_dir: join_paths(libexecdir, 'pluma'),
+ install_mode: 'rwxr-xr-x',
+)
diff --git a/help/meson.build b/help/meson.build
new file mode 100644
index 00000000..d0e05eba
--- /dev/null
+++ b/help/meson.build
@@ -0,0 +1,11 @@
+gnome.yelp(
+ 'pluma',
+ sources: [
+ 'index.docbook',
+ 'legal.xml',
+ ],
+ media: [
+ 'figures/pluma_window.png',
+ 'figures/pluma_recent_files_menu_icon.png',
+ ],
+)
diff --git a/meson.build b/meson.build
new file mode 100644
index 00000000..6bd3108e
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,141 @@
+project(
+ 'pluma', 'c',
+ version: '1.28.1',
+ meson_version: '>= 0.61.2',
+ license: 'GPL2',
+ default_options: ['warning_level=1', 'buildtype=debugoptimized', 'c_std=gnu11'],
+)
+
+gnome = import('gnome')
+i18n = import('i18n')
+cc = meson.get_compiler('c')
+
+version_arr = meson.project_version().split('.')
+pluma_major_version = version_arr[0].to_int()
+pluma_minor_version = version_arr[1].to_int()
+pluma_micro_version = version_arr[2].to_int()
+
+prefix = get_option('prefix')
+bindir = join_paths(prefix, get_option('bindir'))
+libdir = join_paths(prefix, get_option('libdir'))
+datadir = join_paths(prefix, get_option('datadir'))
+includedir = join_paths(prefix, get_option('includedir'))
+libexecdir = join_paths(prefix, get_option('libexecdir'))
+localedir = join_paths(prefix, get_option('localedir'))
+pkgdatadir = join_paths(datadir, 'pluma')
+pkglibdir = join_paths(libdir, 'pluma')
+pluginsdir = join_paths(pkglibdir, 'plugins')
+
+config_h = configuration_data()
+config_h.set_quoted('PACKAGE', 'pluma')
+config_h.set_quoted('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+config_h.set_quoted('VERSION', meson.project_version())
+config_h.set_quoted('GETTEXT_PACKAGE', 'pluma')
+config_h.set_quoted('DATADIR', datadir)
+config_h.set_quoted('PLUMA_DATADIR', pkgdatadir)
+config_h.set_quoted('LIBDIR', libdir)
+config_h.set_quoted('PLUMA_LIBDIR', pkglibdir)
+config_h.set_quoted('PLUMA_LOCALEDIR', localedir)
+config_h.set('PLUMA_MAJOR_VERSION', pluma_major_version)
+config_h.set('PLUMA_MINOR_VERSION', pluma_minor_version)
+config_h.set('PLUMA_MICRO_VERSION', pluma_micro_version)
+
+add_project_arguments('-DHAVE_CONFIG_H', language: 'c')
+add_project_arguments('-I' + meson.project_build_root(), language: 'c')
+
+if get_option('gvfs-metadata')
+ config_h.set('ENABLE_GVFS_METADATA', 1)
+endif
+
+# Required dependencies
+libxml_dep = dependency('libxml-2.0', version: '>= 2.5.0')
+glib_dep = dependency('glib-2.0', version: '>= 2.50.0')
+gmodule_dep = dependency('gmodule-2.0', required: false)
+gthread_dep = dependency('gthread-2.0', version: '>= 2.13.0')
+gio_dep = dependency('gio-2.0', version: '>= 2.50.0')
+gtk_dep = dependency('gtk+-3.0', version: '>= 3.22.0')
+gtksourceview_dep = dependency('gtksourceview-4', version: '>= 4.0.2')
+libpeas_dep = dependency('libpeas-1.0', version: '>= 1.2.0')
+libpeas_gtk_dep = dependency('libpeas-gtk-1.0', version: '>= 1.2.0')
+mate_desktop_dep = dependency('mate-desktop-2.0', version: '>= 1.27.1')
+x11_dep = dependency('x11')
+sm_dep = dependency('sm', version: '>= 1.0.0')
+ice_dep = dependency('ice', version: '>= 1.0.0')
+m_dep = cc.find_library('m', required: false)
+
+mate_submodules_dep = dependency('mate-submodules', version: '1.24.0',
+ fallback: ['mate-submodules', 'mate_submodules_dep'])
+
+pluma_deps = [
+ libxml_dep,
+ glib_dep,
+ gthread_dep,
+ gio_dep,
+ gtk_dep,
+ gtksourceview_dep,
+ libpeas_dep,
+ libpeas_gtk_dep,
+ mate_desktop_dep,
+ x11_dep,
+]
+if m_dep.found()
+ pluma_deps += [m_dep]
+endif
+if gmodule_dep.found()
+ pluma_deps += [gmodule_dep]
+endif
+
+# Optional: GObject Introspection
+have_introspection = false
+gobject_introspection_dep = dependency('gobject-introspection-1.0',
+ version: '>= 0.9.3',
+ required: get_option('introspection'))
+if gobject_introspection_dep.found()
+ have_introspection = true
+ config_h.set('HAVE_INTROSPECTION', 1)
+endif
+
+# Optional: Spell plugin (enchant + iso-codes)
+have_enchant = false
+if get_option('spell')
+ enchant_dep = dependency('enchant-2', version: '>= 1.6.0', required: false)
+ if not enchant_dep.found()
+ enchant_dep = dependency('enchant', version: '>= 1.6.0', required: false)
+ endif
+ if enchant_dep.found()
+ iso_codes_dep = dependency('iso-codes', version: '>= 0.35', required: false)
+ if iso_codes_dep.found()
+ have_enchant = true
+ config_h.set('HAVE_ISO_CODES', 1)
+ config_h.set_quoted('ISO_CODES_PREFIX',
+ iso_codes_dep.get_variable(pkgconfig: 'prefix'))
+ else
+ error('iso-codes is required for spell plugin. Use -Dspell=false to disable.')
+ endif
+ endif
+endif
+
+configure_file(output: 'config.h', configuration: config_h)
+
+root_inc = include_directories('.')
+
+subdir('pluma')
+subdir('data')
+subdir('po')
+subdir('plugins')
+subdir('help')
+if get_option('tests')
+ subdir('tests')
+endif
+
+gnome.post_install(
+ glib_compile_schemas: true,
+ update_desktop_database: find_program('update-desktop-database', required: false).found(),
+)
+
+summary({
+ 'GObject introspection': have_introspection,
+ 'Spell checking': have_enchant,
+ 'GVFS metadata': get_option('gvfs-metadata'),
+ 'Tests': get_option('tests'),
+})
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 00000000..44ac7f9d
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,20 @@
+option('gvfs-metadata',
+ type: 'boolean',
+ value: true,
+ description: 'Use GVfs to store metadata',
+)
+option('spell',
+ type: 'boolean',
+ value: true,
+ description: 'Enable spell check plugin (requires enchant and iso-codes)',
+)
+option('tests',
+ type: 'boolean',
+ value: true,
+ description: 'Build tests',
+)
+option('introspection',
+ type: 'feature',
+ value: 'auto',
+ description: 'Enable GObject introspection',
+)
diff --git a/plugins/docinfo/meson.build b/plugins/docinfo/meson.build
new file mode 100644
index 00000000..d49151f2
--- /dev/null
+++ b/plugins/docinfo/meson.build
@@ -0,0 +1,33 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'docinfo.plugin.desktop.in.in',
+ output: 'docinfo.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'docinfo.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'docinfo',
+ sources: [
+ 'pluma-docinfo-plugin.c',
+ 'pluma-docinfo-plugin.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+install_data('docinfo.ui', install_dir: join_paths(datadir, 'pluma', 'plugins', 'docinfo'))
diff --git a/plugins/externaltools/data/meson.build b/plugins/externaltools/data/meson.build
new file mode 100644
index 00000000..5dceaa03
--- /dev/null
+++ b/plugins/externaltools/data/meson.build
@@ -0,0 +1,32 @@
+tool_files = [
+ 'build',
+ 'open-terminal-here',
+ 'remove-trailing-spaces',
+ 'run-command',
+ 'search-recursive',
+ 'switch-c',
+]
+
+tool_merge = find_program('perl')
+merge_script = join_paths(meson.project_source_root(), 'plugins', 'externaltools', 'scripts', 'pluma-tool-merge.pl')
+
+tool_targets = []
+foreach t : tool_files
+ desktop_in = t + '.desktop.in'
+ desktop = i18n.merge_file(
+ input: desktop_in,
+ output: t + '.desktop',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ )
+
+ tool_target = custom_target(
+ t,
+ input: [t + '.tool.in', desktop],
+ output: t,
+ command: [tool_merge, merge_script, '-o', '@OUTPUT@', '@INPUT0@', '@INPUT1@'],
+ install: true,
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'externaltools', 'tools'),
+ )
+ tool_targets += [tool_target]
+endforeach
diff --git a/plugins/externaltools/meson.build b/plugins/externaltools/meson.build
new file mode 100644
index 00000000..76fd4bc1
--- /dev/null
+++ b/plugins/externaltools/meson.build
@@ -0,0 +1,20 @@
+subdir('tools')
+subdir('data')
+subdir('scripts')
+
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'externaltools.plugin.desktop.in.in',
+ output: 'externaltools.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'externaltools.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
diff --git a/plugins/externaltools/scripts/meson.build b/plugins/externaltools/scripts/meson.build
new file mode 100644
index 00000000..1b8a8d8a
--- /dev/null
+++ b/plugins/externaltools/scripts/meson.build
@@ -0,0 +1 @@
+install_data('pluma-tool-merge.pl', install_dir: join_paths(datadir, 'pluma', 'plugins', 'externaltools', 'scripts'))
diff --git a/plugins/externaltools/tools/meson.build b/plugins/externaltools/tools/meson.build
new file mode 100644
index 00000000..c97bd6b0
--- /dev/null
+++ b/plugins/externaltools/tools/meson.build
@@ -0,0 +1,17 @@
+install_data(
+ '__init__.py',
+ 'capture.py',
+ 'library.py',
+ 'functions.py',
+ 'manager.py',
+ 'outputpanel.py',
+ 'filelookup.py',
+ 'linkparsing.py',
+ install_dir: join_paths(pluginsdir, 'externaltools'),
+)
+
+install_data(
+ 'tools.ui',
+ 'outputpanel.ui',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'externaltools', 'ui'),
+)
diff --git a/plugins/filebrowser/meson.build b/plugins/filebrowser/meson.build
new file mode 100644
index 00000000..c6bf332a
--- /dev/null
+++ b/plugins/filebrowser/meson.build
@@ -0,0 +1,110 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'filebrowser.plugin.desktop.in.in',
+ output: 'filebrowser.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'filebrowser.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+filebrowser_enum_headers = files(
+ 'pluma-file-bookmarks-store.h',
+ 'pluma-file-browser-store.h',
+ 'pluma-file-browser-view.h',
+ 'pluma-file-browser-widget.h',
+ 'pluma-file-browser-error.h',
+ 'pluma-file-browser-utils.h',
+ 'pluma-file-browser-plugin.h',
+ 'pluma-file-browser-messages.h',
+)
+
+glib_mkenums = find_program('glib-mkenums')
+
+filebrowser_enum_types_h = custom_target(
+ 'pluma-file-browser-enum-types.h',
+ input: filebrowser_enum_headers,
+ output: 'pluma-file-browser-enum-types.h',
+ command: [
+ glib_mkenums,
+ '--template', meson.current_source_dir() / 'pluma-file-browser-enum-types.h.template',
+ '@INPUT@',
+ ],
+ capture: true,
+)
+
+filebrowser_enum_types_c_part = custom_target(
+ 'pluma-file-browser-enum-types.c.part',
+ input: filebrowser_enum_headers,
+ output: 'pluma-file-browser-enum-types.c.part',
+ command: [
+ glib_mkenums,
+ '--template', meson.current_source_dir() / 'pluma-file-browser-enum-types.c.template',
+ '@INPUT@',
+ ],
+ capture: true,
+)
+
+filebrowser_enum_register_c_part = custom_target(
+ 'pluma-file-browser-enum-register.c.part',
+ input: filebrowser_enum_headers,
+ output: 'pluma-file-browser-enum-register.c.part',
+ command: [
+ glib_mkenums,
+ '--template', meson.current_source_dir() / 'pluma-file-browser-enum-register.c.template',
+ '@INPUT@',
+ ],
+ capture: true,
+)
+
+filebrowser_enum_types_c = custom_target(
+ 'pluma-file-browser-enum-types.c',
+ input: [filebrowser_enum_types_c_part, filebrowser_enum_register_c_part],
+ output: 'pluma-file-browser-enum-types.c',
+ command: ['cat', '@INPUT@'],
+ capture: true,
+)
+
+shared_module(
+ 'filebrowser',
+ sources: [
+ filebrowser_enum_types_h,
+ filebrowser_enum_types_c,
+ 'pluma-file-bookmarks-store.c',
+ 'pluma-file-browser-store.c',
+ 'pluma-file-browser-view.c',
+ 'pluma-file-browser-widget.c',
+ 'pluma-file-browser-utils.c',
+ 'pluma-file-browser-plugin.c',
+ 'pluma-file-browser-messages.c',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+install_data(
+ 'pluma-file-browser-widget-ui.xml',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'filebrowser'),
+)
+
+schema_conf = configuration_data()
+schema_conf.set('GETTEXT_PACKAGE', 'pluma')
+configure_file(
+ input: 'org.mate.pluma.plugins.filebrowser.gschema.xml.in',
+ output: 'org.mate.pluma.plugins.filebrowser.gschema.xml',
+ configuration: schema_conf,
+ install: true,
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas'),
+)
diff --git a/plugins/meson.build b/plugins/meson.build
new file mode 100644
index 00000000..93d78b2d
--- /dev/null
+++ b/plugins/meson.build
@@ -0,0 +1,19 @@
+plugin_cflags = [
+ '-I' + meson.project_source_root(),
+ '-I' + meson.project_source_root() / 'pluma',
+]
+
+subdir('docinfo')
+subdir('externaltools')
+subdir('filebrowser')
+subdir('modelines')
+subdir('pythonconsole')
+subdir('quickopen')
+subdir('snippets')
+subdir('sort')
+subdir('taglist')
+subdir('time')
+subdir('trailsave')
+if have_enchant
+ subdir('spell')
+endif
diff --git a/plugins/modelines/meson.build b/plugins/modelines/meson.build
new file mode 100644
index 00000000..cb3f3a78
--- /dev/null
+++ b/plugins/modelines/meson.build
@@ -0,0 +1,38 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'modelines.plugin.desktop.in.in',
+ output: 'modelines.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'modelines.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'modelines',
+ sources: [
+ 'pluma-modeline-plugin.c',
+ 'pluma-modeline-plugin.h',
+ 'modeline-parser.c',
+ 'modeline-parser.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+install_data(
+ 'language-mappings',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'modelines'),
+)
diff --git a/plugins/pythonconsole/meson.build b/plugins/pythonconsole/meson.build
new file mode 100644
index 00000000..80a11519
--- /dev/null
+++ b/plugins/pythonconsole/meson.build
@@ -0,0 +1,28 @@
+subdir('pythonconsole')
+
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'pythonconsole.plugin.desktop.in.in',
+ output: 'pythonconsole.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'pythonconsole.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+schema_conf = configuration_data()
+schema_conf.set('GETTEXT_PACKAGE', 'pluma')
+configure_file(
+ input: 'org.mate.pluma.plugins.pythonconsole.gschema.xml.in',
+ output: 'org.mate.pluma.plugins.pythonconsole.gschema.xml',
+ configuration: schema_conf,
+ install: true,
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas'),
+)
diff --git a/plugins/pythonconsole/pythonconsole/meson.build b/plugins/pythonconsole/pythonconsole/meson.build
new file mode 100644
index 00000000..be572f72
--- /dev/null
+++ b/plugins/pythonconsole/pythonconsole/meson.build
@@ -0,0 +1,11 @@
+install_data(
+ '__init__.py',
+ 'console.py',
+ 'config.py',
+ install_dir: join_paths(pluginsdir, 'pythonconsole'),
+)
+
+install_data(
+ 'config.ui',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'pythonconsole', 'ui'),
+)
diff --git a/plugins/quickopen/meson.build b/plugins/quickopen/meson.build
new file mode 100644
index 00000000..806c5648
--- /dev/null
+++ b/plugins/quickopen/meson.build
@@ -0,0 +1,18 @@
+subdir('quickopen')
+
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'quickopen.plugin.desktop.in.in',
+ output: 'quickopen.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'quickopen.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
diff --git a/plugins/quickopen/quickopen/meson.build b/plugins/quickopen/quickopen/meson.build
new file mode 100644
index 00000000..2f6b8785
--- /dev/null
+++ b/plugins/quickopen/quickopen/meson.build
@@ -0,0 +1,7 @@
+install_data(
+ '__init__.py',
+ 'popup.py',
+ 'virtualdirs.py',
+ 'windowhelper.py',
+ install_dir: join_paths(pluginsdir, 'quickopen'),
+)
diff --git a/plugins/snippets/data/lang/meson.build b/plugins/snippets/data/lang/meson.build
new file mode 100644
index 00000000..a7c371d9
--- /dev/null
+++ b/plugins/snippets/data/lang/meson.build
@@ -0,0 +1,4 @@
+install_data(
+ 'snippets.lang',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'snippets', 'lang'),
+)
diff --git a/plugins/snippets/data/meson.build b/plugins/snippets/data/meson.build
new file mode 100644
index 00000000..32925564
--- /dev/null
+++ b/plugins/snippets/data/meson.build
@@ -0,0 +1,28 @@
+subdir('lang')
+
+install_data(
+ 'css.xml',
+ 'c.xml',
+ 'cpp.xml',
+ 'chdr.xml',
+ 'docbook.xml',
+ 'fortran.xml',
+ 'global.xml',
+ 'haskell.xml',
+ 'html.xml',
+ 'idl.xml',
+ 'javascript.xml',
+ 'java.xml',
+ 'latex.xml',
+ 'mallard.xml',
+ 'perl.xml',
+ 'php.xml',
+ 'python.xml',
+ 'ruby.xml',
+ 'sh.xml',
+ 'snippets.xml',
+ 'tcl.xml',
+ 'xml.xml',
+ 'xslt.xml',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'snippets'),
+)
diff --git a/plugins/snippets/meson.build b/plugins/snippets/meson.build
new file mode 100644
index 00000000..283b2f2d
--- /dev/null
+++ b/plugins/snippets/meson.build
@@ -0,0 +1,19 @@
+subdir('snippets')
+subdir('data')
+
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'snippets.plugin.desktop.in.in',
+ output: 'snippets.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'snippets.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
diff --git a/plugins/snippets/snippets/meson.build b/plugins/snippets/snippets/meson.build
new file mode 100644
index 00000000..ac60aa5a
--- /dev/null
+++ b/plugins/snippets/snippets/meson.build
@@ -0,0 +1,23 @@
+install_data(
+ '__init__.py',
+ 'WindowHelper.py',
+ 'Document.py',
+ 'Library.py',
+ 'Snippet.py',
+ 'Parser.py',
+ 'Placeholder.py',
+ 'Manager.py',
+ 'Helper.py',
+ 'SubstitutionParser.py',
+ 'Importer.py',
+ 'Exporter.py',
+ 'LanguageManager.py',
+ 'Completion.py',
+ 'comment.py',
+ install_dir: join_paths(pluginsdir, 'snippets'),
+)
+
+install_data(
+ 'snippets.ui',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'snippets', 'ui'),
+)
diff --git a/plugins/sort/meson.build b/plugins/sort/meson.build
new file mode 100644
index 00000000..e4827594
--- /dev/null
+++ b/plugins/sort/meson.build
@@ -0,0 +1,33 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'sort.plugin.desktop.in.in',
+ output: 'sort.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'sort.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'sort',
+ sources: [
+ 'pluma-sort-plugin.c',
+ 'pluma-sort-plugin.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+install_data('sort.ui', install_dir: join_paths(datadir, 'pluma', 'plugins', 'sort'))
diff --git a/plugins/spell/meson.build b/plugins/spell/meson.build
new file mode 100644
index 00000000..e0b99e0f
--- /dev/null
+++ b/plugins/spell/meson.build
@@ -0,0 +1,60 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'spell.plugin.desktop.in.in',
+ output: 'spell.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'spell.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'spell',
+ sources: [
+ 'pluma-spell-plugin.c',
+ 'pluma-spell-plugin.h',
+ 'pluma-spell-checker.c',
+ 'pluma-spell-checker.h',
+ 'pluma-spell-checker-dialog.c',
+ 'pluma-spell-checker-dialog.h',
+ 'pluma-spell-checker-language.c',
+ 'pluma-spell-checker-language.h',
+ 'pluma-spell-language-dialog.c',
+ 'pluma-spell-language-dialog.h',
+ 'pluma-automatic-spell-checker.c',
+ 'pluma-automatic-spell-checker.h',
+ 'pluma-spell-utils.c',
+ 'pluma-spell-utils.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps + [enchant_dep, mate_desktop_dep],
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+install_data(
+ 'spell-checker.ui',
+ 'languages-dialog.ui',
+ 'pluma-spell-setup-dialog.ui',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'spell'),
+)
+
+schema_conf = configuration_data()
+schema_conf.set('GETTEXT_PACKAGE', 'pluma')
+configure_file(
+ input: 'org.mate.pluma.plugins.spell.gschema.xml.in',
+ output: 'org.mate.pluma.plugins.spell.gschema.xml',
+ configuration: schema_conf,
+ install: true,
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas'),
+)
diff --git a/plugins/taglist/meson.build b/plugins/taglist/meson.build
new file mode 100644
index 00000000..0d5f75e9
--- /dev/null
+++ b/plugins/taglist/meson.build
@@ -0,0 +1,64 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'taglist.plugin.desktop.in.in',
+ output: 'taglist.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'taglist.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'taglist',
+ sources: [
+ 'pluma-taglist-plugin-parser.c',
+ 'pluma-taglist-plugin-parser.h',
+ 'pluma-taglist-plugin-panel.c',
+ 'pluma-taglist-plugin-panel.h',
+ 'pluma-taglist-plugin.c',
+ 'pluma-taglist-plugin.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+taglist_files = [
+ 'HTML.tags.xml.in',
+ 'Latex.tags.xml.in',
+ 'XSLT.tags.xml.in',
+ 'XUL.tags.xml.in',
+]
+
+gzip = find_program('gzip')
+foreach tf : taglist_files
+ stem = tf.replace('.tags.xml.in', '')
+ xml_translated = i18n.merge_file(
+ input: tf,
+ output: stem + '.tags.xml',
+ type: 'xml',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ data_dirs: [meson.project_source_root()],
+ )
+ tags_gz = custom_target(
+ stem + '.tags.gz',
+ input: xml_translated,
+ output: stem + '.tags.gz',
+ command: [gzip, '-9', '-n', '-c', '@INPUT@'],
+ capture: true,
+ build_by_default: true,
+ install: true,
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'taglist'),
+ )
+endforeach
diff --git a/plugins/time/meson.build b/plugins/time/meson.build
new file mode 100644
index 00000000..cbe6e842
--- /dev/null
+++ b/plugins/time/meson.build
@@ -0,0 +1,47 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'time.plugin.desktop.in.in',
+ output: 'time.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'time.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'time',
+ sources: [
+ 'pluma-time-plugin.c',
+ 'pluma-time-plugin.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+install_data(
+ 'pluma-time-dialog.ui',
+ 'pluma-time-setup-dialog.ui',
+ install_dir: join_paths(datadir, 'pluma', 'plugins', 'time'),
+)
+
+schema_conf = configuration_data()
+schema_conf.set('GETTEXT_PACKAGE', 'pluma')
+configure_file(
+ input: 'org.mate.pluma.plugins.time.gschema.xml.in',
+ output: 'org.mate.pluma.plugins.time.gschema.xml',
+ configuration: schema_conf,
+ install: true,
+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas'),
+)
diff --git a/plugins/trailsave/meson.build b/plugins/trailsave/meson.build
new file mode 100644
index 00000000..59673dc6
--- /dev/null
+++ b/plugins/trailsave/meson.build
@@ -0,0 +1,31 @@
+plugin_conf = configuration_data()
+plugin_conf.set('PACKAGE_URL', 'https://github.com/mate-desktop/pluma')
+
+plugin_in = configure_file(
+ input: 'trailsave.plugin.desktop.in.in',
+ output: 'trailsave.plugin.desktop.in',
+ configuration: plugin_conf,
+)
+i18n.merge_file(
+ input: plugin_in,
+ output: 'trailsave.plugin',
+ po_dir: join_paths(meson.project_source_root(), 'po'),
+ type: 'desktop',
+ install: true,
+ install_dir: pluginsdir,
+)
+
+shared_module(
+ 'trailsave',
+ sources: [
+ 'pluma-trail-save-plugin.c',
+ 'pluma-trail-save-plugin.h',
+ ],
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: plugin_cflags,
+ name_prefix: 'lib',
+ install: true,
+ install_dir: pluginsdir,
+)
diff --git a/pluma/dialogs/meson.build b/pluma/dialogs/meson.build
new file mode 100644
index 00000000..35d24f8c
--- /dev/null
+++ b/pluma/dialogs/meson.build
@@ -0,0 +1,24 @@
+libdialogs_sources = [
+ 'pluma-preferences-dialog.c',
+ 'pluma-close-confirmation-dialog.c',
+ 'pluma-encodings-dialog.c',
+ 'pluma-search-dialog.c',
+]
+
+libdialogs_inc = include_directories('.')
+
+libdialogs = static_library(
+ 'dialogs',
+ sources: libdialogs_sources,
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ c_args: ['-DPLUMA_DATADIR="@0@"'.format(pkgdatadir)],
+ install: false,
+)
+
+install_data(
+ 'pluma-encodings-dialog.ui',
+ 'pluma-preferences-dialog.ui',
+ 'pluma-search-dialog.ui',
+ install_dir: join_paths(pkgdatadir, 'ui'),
+)
diff --git a/pluma/mate-submodules b/pluma/mate-submodules
-Subproject 54fff1b15efa5c88d4bb19ebbae9476a03f9db3
+Subproject 4074560e3642a53ace07b31baaf3f04c060dcd0
diff --git a/pluma/meson.build b/pluma/meson.build
new file mode 100644
index 00000000..ef142d14
--- /dev/null
+++ b/pluma/meson.build
@@ -0,0 +1,179 @@
+pluma_enum_types = gnome.mkenums_simple(
+ 'pluma-enum-types',
+ sources: [
+ 'pluma-app-activatable.h',
+ 'pluma-app.h',
+ 'pluma-application.h',
+ 'pluma-commands.h',
+ 'pluma-debug.h',
+ 'pluma-document.h',
+ 'pluma-encodings.h',
+ 'pluma-encodings-combo-box.h',
+ 'pluma-help.h',
+ 'pluma-message-bus.h',
+ 'pluma-message-type.h',
+ 'pluma-message.h',
+ 'pluma-notebook.h',
+ 'pluma-panel.h',
+ 'pluma-progress-message-area.h',
+ 'pluma-statusbar.h',
+ 'pluma-status-combo-box.h',
+ 'pluma-tab.h',
+ 'pluma-utils.h',
+ 'pluma-view.h',
+ 'pluma-view-activatable.h',
+ 'pluma-window.h',
+ 'pluma-window-activatable.h',
+ ],
+ install_header: false,
+)
+
+libpluma_c_files = [
+ 'pluma-app.c',
+ 'pluma-app-activatable.c',
+ 'pluma-application.c',
+ 'pluma-close-button.c',
+ 'pluma-commands-documents.c',
+ 'pluma-commands-edit.c',
+ 'pluma-commands-file.c',
+ 'pluma-commands-file-print.c',
+ 'pluma-commands-help.c',
+ 'pluma-commands-search.c',
+ 'pluma-commands-view.c',
+ 'pluma-debug.c',
+ 'pluma-dirs.c',
+ 'pluma-document.c',
+ 'pluma-document-input-stream.c',
+ 'pluma-document-loader.c',
+ 'pluma-document-output-stream.c',
+ 'pluma-document-saver.c',
+ 'pluma-documents-panel.c',
+ 'pluma-encodings.c',
+ 'pluma-encodings-combo-box.c',
+ 'pluma-file-chooser-dialog.c',
+ 'pluma-help.c',
+ 'pluma-history-entry.c',
+ 'pluma-io-error-message-area.c',
+ 'pluma-language-manager.c',
+ 'pluma-message-bus.c',
+ 'pluma-message-type.c',
+ 'pluma-message.c',
+ 'pluma-notebook.c',
+ 'pluma-panel.c',
+ 'pluma-pango.c',
+ 'pluma-plugins-engine.c',
+ 'pluma-print-job.c',
+ 'pluma-print-preview.c',
+ 'pluma-progress-message-area.c',
+ 'pluma-session.c',
+ 'pluma-settings.c',
+ 'pluma-smart-charset-converter.c',
+ 'pluma-statusbar.c',
+ 'pluma-status-combo-box.c',
+ 'pluma-style-scheme-manager.c',
+ 'pluma-tab.c',
+ 'pluma-tab-label.c',
+ 'pluma-utils.c',
+ 'pluma-view.c',
+ 'pluma-view-activatable.c',
+ 'pluma-window.c',
+ 'pluma-window-activatable.c',
+ 'plumatextregion.c',
+ 'bacon-message-connection.c',
+]
+
+libpluma_inst_headers = [
+ 'pluma-app.h',
+ 'pluma-app-activatable.h',
+ 'pluma-application.h',
+ 'pluma-commands.h',
+ 'pluma-debug.h',
+ 'pluma-document.h',
+ 'pluma-encodings.h',
+ 'pluma-encodings-combo-box.h',
+ 'pluma-help.h',
+ 'pluma-message-bus.h',
+ 'pluma-message-type.h',
+ 'pluma-message.h',
+ 'pluma-notebook.h',
+ 'pluma-panel.h',
+ 'pluma-progress-message-area.h',
+ 'pluma-statusbar.h',
+ 'pluma-status-combo-box.h',
+ 'pluma-tab.h',
+ 'pluma-utils.h',
+ 'pluma-view.h',
+ 'pluma-view-activatable.h',
+ 'pluma-window.h',
+ 'pluma-window-activatable.h',
+]
+
+if not get_option('gvfs-metadata')
+ libpluma_c_files += ['pluma-metadata-manager.c']
+ libpluma_inst_headers += ['pluma-metadata-manager.h']
+endif
+
+install_headers(libpluma_inst_headers, subdir: 'pluma')
+
+pluma_inc = include_directories('.')
+pluma_dialogs_inc = include_directories('dialogs')
+
+subdir('dialogs')
+
+pluma_cflags = [
+ '-I' + meson.current_source_dir(),
+ '-DDATADIR="@0@"'.format(datadir),
+ '-DPLUMA_DATADIR="@0@"'.format(pkgdatadir),
+ '-DPLUMA_LOCALEDIR="@0@"'.format(localedir),
+ '-DLIBDIR="@0@"'.format(libdir),
+ '-DPLUMA_LIBDIR="@0@"'.format(pkglibdir),
+]
+
+libpluma = static_library(
+ 'pluma',
+ sources: libpluma_c_files + pluma_enum_types,
+ include_directories: [root_inc, pluma_inc, pluma_dialogs_inc],
+ dependencies: pluma_deps + [mate_submodules_dep],
+ link_with: [libdialogs],
+ c_args: pluma_cflags,
+ install: false,
+)
+
+pluma_bin = executable(
+ 'pluma',
+ sources: 'pluma.c',
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps + [mate_submodules_dep],
+ link_with: libpluma,
+ c_args: pluma_cflags,
+ export_dynamic: true,
+ install: true,
+ install_dir: bindir,
+)
+
+install_data(
+ 'pluma.about',
+ install_dir: pkgdatadir,
+)
+install_data(
+ 'pluma-ui.xml',
+ 'pluma-print-preferences.ui',
+ install_dir: join_paths(pkgdatadir, 'ui'),
+)
+
+if have_introspection
+ pluma_gir = gnome.generate_gir(
+ pluma_bin,
+ sources: libpluma_inst_headers + libpluma_c_files + pluma_enum_types,
+ namespace: 'Pluma',
+ nsversion: '1.0',
+ symbol_prefix: 'pluma',
+ identifier_prefix: 'Pluma',
+ export_packages: 'pluma',
+ includes: ['GObject-2.0', 'Gtk-3.0', 'GtkSource-4'],
+ extra_args: ['--warn-all', '-I' + meson.current_source_dir()],
+ install: true,
+ install_dir_gir: join_paths(datadir, 'gir-1.0'),
+ install_dir_typelib: join_paths(libdir, 'girepository-1.0'),
+ )
+endif
diff --git a/po/meson.build b/po/meson.build
new file mode 100644
index 00000000..3d8796d1
--- /dev/null
+++ b/po/meson.build
@@ -0,0 +1 @@
+i18n.gettext('pluma', preset: 'glib')
diff --git a/subprojects/mate-submodules.wrap b/subprojects/mate-submodules.wrap
new file mode 100644
index 00000000..0463bf51
--- /dev/null
+++ b/subprojects/mate-submodules.wrap
@@ -0,0 +1,9 @@
+[wrap-git]
+directory =mate-submodules
+url=https://github.com/mate-desktop/mate-submodules.git
+push-url=ssh://[email protected]:mate-desktop/mate-submodules.git
+revision=master
+depth=1
+
+[provide]
+libegg = libegg_dep
diff --git a/tests/document-saver.c b/tests/document-saver.c
index 3f012c19..d327eeb4 100644
--- a/tests/document-saver.c
+++ b/tests/document-saver.c
@@ -154,7 +154,11 @@ mount_ready_callback (GObject *object,
}
else
{
- g_assert_no_error (error);
+ mount_success = FALSE;
+ if (error)
+ {
+ g_error_free (error);
+ }
}
mount_completed = TRUE;
@@ -223,7 +227,16 @@ test_saver (const gchar *filename_or_uri,
uri = g_file_get_uri (file);
existed = g_file_query_exists (file, NULL);
- ensure_mounted (file);
+ if (!ensure_mounted (file))
+ {
+ g_test_skip ("Remote mount unavailable");
+
+ g_free (uri);
+ g_object_unref (file);
+ saver_test_data_free (data);
+ g_object_unref (document);
+ return;
+ }
pluma_document_save_as (document, uri, pluma_encoding_get_utf8 (), save_flags);
@@ -408,6 +421,13 @@ test_permissions (const gchar *uri,
GFileInfo *info;
guint mode;
+ if (!ensure_mounted (file))
+ {
+ g_test_skip ("Remote mount unavailable");
+ g_object_unref (file);
+ return;
+ }
+
g_file_delete (file, NULL, NULL);
stream = g_file_create (file, 0, NULL, &error);
diff --git a/tests/meson.build b/tests/meson.build
new file mode 100644
index 00000000..e600ca36
--- /dev/null
+++ b/tests/meson.build
@@ -0,0 +1,27 @@
+test_targets = {
+ 'smart-converter': 'smart-converter.c',
+ 'document-input-stream': 'document-input-stream.c',
+ 'document-output-stream': 'document-output-stream.c',
+ 'document-loader': 'document-loader.c',
+ 'document-saver': 'document-saver.c',
+}
+
+test_env = environment()
+test_env.set('GSETTINGS_SCHEMA_DIR', gsettings_schema_builddir)
+
+foreach t, src : test_targets
+ test_exe = executable(
+ t,
+ sources: src,
+ include_directories: [root_inc, pluma_inc],
+ dependencies: pluma_deps,
+ link_with: libpluma,
+ c_args: pluma_cflags,
+ )
+ test(
+ t,
+ test_exe,
+ env: test_env,
+ depends: gsettings_schema_target,
+ )
+endforeach