summaryrefslogtreecommitdiff
path: root/plugins/filebrowser
diff options
context:
space:
mode:
authormbkma <[email protected]>2026-03-22 10:18:37 +0100
committermbkma <[email protected]>2026-03-22 22:08:28 +0100
commit4a14e878c1187d6cc1f76b87a24a6007314d996e (patch)
tree14e01a5357bd807b95d368da78202cb495658718 /plugins/filebrowser
parentf1fd658bda21506fac8966821fcdb4c2a154b590 (diff)
downloadpluma-meson.tar.bz2
pluma-meson.tar.xz
add meson supportmeson
Diffstat (limited to 'plugins/filebrowser')
-rw-r--r--plugins/filebrowser/meson.build110
1 files changed, 110 insertions, 0 deletions
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'),
+)