summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorIñigo Martínez <inigomartinez@gmail.com>2019-03-21 16:36:07 +0100
committerIñigo Martínez <inigomartinez@gmail.com>2019-03-30 21:15:41 +0100
commit79bd7e5a84b01e4a50365deca3ef799acd8c998b (patch)
tree1b890c265f020a5a200a9ffc6f66c8efc3fd4218 /plugins
parent9b22a0251053b5869d6c2505aa9e9f34f16e0183 (diff)
downloadglade-79bd7e5a84b01e4a50365deca3ef799acd8c998b.tar.gz
build: Port to meson build system
meson is a build system focused on speed an ease of use, which helps speeding up the software development. meson build system has been added along with autotools.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/gladeui/meson.build17
-rw-r--r--plugins/gtk+/icons/meson.build165
-rw-r--r--plugins/gtk+/meson.build248
-rw-r--r--plugins/meson.build31
-rw-r--r--plugins/python/meson.build13
-rw-r--r--plugins/webkit2gtk/meson.build17
6 files changed, 491 insertions, 0 deletions
diff --git a/plugins/gladeui/meson.build b/plugins/gladeui/meson.build
new file mode 100644
index 00000000..7e28808e
--- /dev/null
+++ b/plugins/gladeui/meson.build
@@ -0,0 +1,17 @@
+sources = files(
+ 'glade-glade-editor-skeleton.c',
+ 'glade-glade-property-shell.c',
+)
+
+shared_module(
+ 'gladeglade',
+ sources: sources,
+ dependencies: libgladeui_dep,
+ c_args: '-DG_LOG_DOMAIN="GladeUI-Glade"',
+ kwargs: plugins_kwargs,
+)
+
+install_data(
+ 'gladeui.xml',
+ install_dir: glade_datadir / glade_catalogdir,
+)
diff --git a/plugins/gtk+/icons/meson.build b/plugins/gtk+/icons/meson.build
new file mode 100644
index 00000000..2a77dcc2
--- /dev/null
+++ b/plugins/gtk+/icons/meson.build
@@ -0,0 +1,165 @@
+# FIXME: replace this by install_subdir once autotools is removed
+icon_data = [
+ 'widget-gtk-aboutdialog.png',
+ 'widget-gtk-accelgroup.png',
+ 'widget-gtk-accellabel.png',
+ 'widget-gtk-actionbar.png',
+ 'widget-gtk-actiongroup.png',
+ 'widget-gtk-action.png',
+ 'widget-gtk-adjustment.png',
+ 'widget-gtk-alignment.png',
+ 'widget-gtk-appchooserbutton.png',
+ 'widget-gtk-appchooserdialog.png',
+ 'widget-gtk-appchooserwidget.png',
+ 'widget-gtk-arrow.png',
+ 'widget-gtk-aspectframe.png',
+ 'widget-gtk-assistant.png',
+ 'widget-gtk-box.png',
+ 'widget-gtk-buttonbox.png',
+ 'widget-gtk-button.png',
+ 'widget-gtk-calendar.png',
+ 'widget-gtk-cellareabox.png',
+ 'widget-gtk-cellrendereraccel.png',
+ 'widget-gtk-cellrenderercombo.png',
+ 'widget-gtk-cellrendererpixbuf.png',
+ 'widget-gtk-cellrendererprogress.png',
+ 'widget-gtk-cellrendererspinner.png',
+ 'widget-gtk-cellrendererspin.png',
+ 'widget-gtk-cellrenderertext.png',
+ 'widget-gtk-cellrenderertoggle.png',
+ 'widget-gtk-checkbutton.png',
+ 'widget-gtk-checkmenuitem.png',
+ 'widget-gtk-colorbutton.png',
+ 'widget-gtk-colorselectiondialog.png',
+ 'widget-gtk-colorselection.png',
+ 'widget-gtk-combobox.png',
+ 'widget-gtk-comboboxtext.png',
+ 'widget-gtk-default.png',
+ 'widget-gtk-dialog.png',
+ 'widget-gtk-drawingarea.png',
+ 'widget-gtk-entrybuffer.png',
+ 'widget-gtk-entrycompletion.png',
+ 'widget-gtk-entry.png',
+ 'widget-gtk-eventbox.png',
+ 'widget-gtk-expander.png',
+ 'widget-gtk-filechooserbutton.png',
+ 'widget-gtk-filechooserdialog.png',
+ 'widget-gtk-filechooserwidget.png',
+ 'widget-gtk-filefilter.png',
+ 'widget-gtk-fixed.png',
+ 'widget-gtk-flowboxchild.png',
+ 'widget-gtk-flowbox.png',
+ 'widget-gtk-fontbutton.png',
+ 'widget-gtk-fontselectiondialog.png',
+ 'widget-gtk-fontselection.png',
+ 'widget-gtk-frame.png',
+ 'widget-gtk-glarea.png',
+ 'widget-gtk-grid.png',
+ 'widget-gtk-handlebox.png',
+ 'widget-gtk-hbox.png',
+ 'widget-gtk-hbuttonbox.png',
+ 'widget-gtk-headerbar.png',
+ 'widget-gtk-hpaned.png',
+ 'widget-gtk-hscale.png',
+ 'widget-gtk-hscrollbar.png',
+ 'widget-gtk-hseparator.png',
+ 'widget-gtk-iconfactory.png',
+ 'widget-gtk-iconview.png',
+ 'widget-gtk-imagemenuitem.png',
+ 'widget-gtk-image.png',
+ 'widget-gtk-infobar.png',
+ 'widget-gtk-inputdialog.png',
+ 'widget-gtk-label.png',
+ 'widget-gtk-layout.png',
+ 'widget-gtk-levelbar.png',
+ 'widget-gtk-linkbutton.png',
+ 'widget-gtk-listbox.png',
+ 'widget-gtk-listboxrow.png',
+ 'widget-gtk-liststore.png',
+ 'widget-gtk-lockbutton.png',
+ 'widget-gtk-menubar.png',
+ 'widget-gtk-menubutton.png',
+ 'widget-gtk-menuitem.png',
+ 'widget-gtk-menu.png',
+ 'widget-gtk-menutoolbutton.png',
+ 'widget-gtk-messagedialog.png',
+ 'widget-gtk-modelbutton.png',
+ 'widget-gtk-notebook.png',
+ 'widget-gtk-offscreenwindow.png',
+ 'widget-gtk-overlay.png',
+ 'widget-gtk-pagesetupdialog.png',
+ 'widget-gtk-paned.png',
+ 'widget-gtk-placessidebar.png',
+ 'widget-gtk-popovermenu.png',
+ 'widget-gtk-popover.png',
+ 'widget-gtk-printdialog.png',
+ 'widget-gtk-progressbar.png',
+ 'widget-gtk-radioaction.png',
+ 'widget-gtk-radiobutton.png',
+ 'widget-gtk-radiomenuitem.png',
+ 'widget-gtk-radiotoolbutton.png',
+ 'widget-gtk-recentaction.png',
+ 'widget-gtk-recentchooserdialog.png',
+ 'widget-gtk-recentchoosermenu.png',
+ 'widget-gtk-recentchooser.png',
+ 'widget-gtk-recentfilter.png',
+ 'widget-gtk-recentmanager.png',
+ 'widget-gtk-revealer.png',
+ 'widget-gtk-scalebutton.png',
+ 'widget-gtk-scale.png',
+ 'widget-gtk-scrollbar.png',
+ 'widget-gtk-scrolledwindow.png',
+ 'widget-gtk-searchbar.png',
+ 'widget-gtk-searchentry.png',
+ 'widget-gtk-separatormenuitem.png',
+ 'widget-gtk-separator.png',
+ 'widget-gtk-separatortoolitem.png',
+ 'widget-gtk-sizegroup.png',
+ 'widget-gtk-spinbutton.png',
+ 'widget-gtk-spinner.png',
+ 'widget-gtk-stack.png',
+ 'widget-gtk-stacksidebar.png',
+ 'widget-gtk-stackswitcher.png',
+ 'widget-gtk-statusbar.png',
+ 'widget-gtk-statusicon.png',
+ 'widget-gtk-switch.png',
+ 'widget-gtk-table.png',
+ 'widget-gtk-tearoffmenuitem.png',
+ 'widget-gtk-textbuffer.png',
+ 'widget-gtk-texttag.png',
+ 'widget-gtk-texttagtable.png',
+ 'widget-gtk-textview.png',
+ 'widget-gtk-toggleaction.png',
+ 'widget-gtk-togglebutton.png',
+ 'widget-gtk-toggletoolbutton.png',
+ 'widget-gtk-toolbar.png',
+ 'widget-gtk-toolbutton.png',
+ 'widget-gtk-toolitemgroup.png',
+ 'widget-gtk-toolitem.png',
+ 'widget-gtk-toolpalette.png',
+ 'widget-gtk-treemodelfilter.png',
+ 'widget-gtk-treemodelsort.png',
+ 'widget-gtk-treeselection.png',
+ 'widget-gtk-treestore.png',
+ 'widget-gtk-treeviewcolumn.png',
+ 'widget-gtk-treeview.png',
+ 'widget-gtk-vbox.png',
+ 'widget-gtk-vbuttonbox.png',
+ 'widget-gtk-viewport.png',
+ 'widget-gtk-volumebutton.png',
+ 'widget-gtk-vpaned.png',
+ 'widget-gtk-vscale.png',
+ 'widget-gtk-vscrollbar.png',
+ 'widget-gtk-vseparator.png',
+ 'widget-gtk-windowgroup.png',
+ 'widget-gtk-window.png',
+]
+
+foreach size: ['16x16', '22x22']
+ foreach icon: icon_data
+ install_data(
+ size / icon,
+ install_dir: glade_datadir / glade_pixmapdir / 'hicolor' / size / 'actions',
+ )
+ endforeach
+endforeach
diff --git a/plugins/gtk+/meson.build b/plugins/gtk+/meson.build
new file mode 100644
index 00000000..f86dafeb
--- /dev/null
+++ b/plugins/gtk+/meson.build
@@ -0,0 +1,248 @@
+subdir('icons')
+
+sources = files(
+ 'glade-about-dialog-editor.c',
+ 'glade-accels.c',
+ 'glade-action-editor.c',
+ 'glade-activatable-editor.c',
+ 'glade-app-chooser-button-editor.c',
+ 'glade-app-chooser-widget-editor.c',
+ 'glade-arrow-editor.c',
+ 'glade-attributes.c',
+ 'glade-action-bar-editor.c',
+ 'glade-box-editor.c',
+ 'glade-button-editor.c',
+ 'glade-cell-renderer-editor.c',
+ 'glade-column-types.c',
+ 'glade-combo-box-editor.c',
+ 'glade-combo-box-text-editor.c',
+ 'glade-entry-editor.c',
+ 'glade-eprop-enum-int.c',
+ 'glade-file-chooser-button-editor.c',
+ 'glade-file-chooser-dialog-editor.c',
+ 'glade-file-chooser-editor.c',
+ 'glade-file-chooser-widget-editor.c',
+ 'glade-fixed.c',
+ 'glade-font-button-editor.c',
+ 'glade-font-chooser-dialog-editor.c',
+ 'glade-font-chooser-editor.c',
+ 'glade-font-chooser-widget-editor.c',
+ 'glade-grid-editor.c',
+ 'glade-gtk-about-dialog.c',
+ 'glade-gtk-action-bar.c',
+ 'glade-gtk-action.c',
+ 'glade-gtk-action-group.c',
+ 'glade-gtk-action-widgets.c',
+ 'glade-gtk-adjustment.c',
+ 'glade-gtk-app-chooser-button.c',
+ 'glade-gtk-app-chooser-widget.c',
+ 'glade-gtk-arrow.c',
+ 'glade-gtk-assistant.c',
+ 'glade-gtk-bin.c',
+ 'glade-gtk-box.c',
+ 'glade-gtk-button.c',
+ 'glade-gtk-cell-layout.c',
+ 'glade-gtk-cell-renderer.c',
+ 'glade-gtk-combo-box.c',
+ 'glade-gtk-combo-box-text.c',
+ 'glade-gtk-container.c',
+ 'glade-gtk-dialog.c',
+ 'glade-gtk-entry-buffer.c',
+ 'glade-gtk-entry.c',
+ 'glade-gtk-expander.c',
+ 'glade-gtk-file-chooser-widget.c',
+ 'glade-gtk-fixed-layout.c',
+ 'glade-gtk-flow-box.c',
+ 'glade-gtk-font-chooser-widget.c',
+ 'glade-gtk-frame.c',
+ 'glade-gtk-grid.c',
+ 'glade-gtk-header-bar.c',
+ 'glade-gtk-icon-factory.c',
+ 'glade-gtk-icon-view.c',
+ 'glade-gtk-image.c',
+ 'glade-gtk-image-menu-item.c',
+ 'glade-gtk-info-bar.c',
+ 'glade-gtk-label.c',
+ 'glade-gtk-level-bar.c',
+ 'glade-gtk-list-box.c',
+ 'glade-gtk-list-store.c',
+ 'glade-gtk-menu-bar.c',
+ 'glade-gtk-menu.c',
+ 'glade-gtk-menu-item.c',
+ 'glade-gtk-menu-shell.c',
+ 'glade-gtk-menu-tool-button.c',
+ 'glade-gtk-message-dialog.c',
+ 'glade-gtk-model-button.c',
+ 'glade-gtk-notebook.c',
+ 'glade-gtk-overlay.c',
+ 'glade-gtk-paned.c',
+ 'glade-gtk-popover.c',
+ 'glade-gtk-popover-menu.c',
+ 'glade-gtk-progress-bar.c',
+ 'glade-gtk-radio-button.c',
+ 'glade-gtk-radio-menu-item.c',
+ 'glade-gtk-recent-chooser-menu.c',
+ 'glade-gtk-recent-chooser-widget.c',
+ 'glade-gtk-recent-file-filter.c',
+ 'glade-gtk-revealer.c',
+ 'glade-gtk-scale.c',
+ 'glade-gtk-scrollbar.c',
+ 'glade-gtk-scrolled-window.c',
+ 'glade-gtk-searchbar.c',
+ 'glade-gtk-size-group.c',
+ 'glade-gtk-spin-button.c',
+ 'glade-gtk-stack.c',
+ 'glade-gtk-stack-switcher.c',
+ 'glade-gtk-switch.c',
+ 'glade-gtk-table.c',
+ 'glade-gtk-text-buffer.c',
+ 'glade-gtk-text-tag-table.c',
+ 'glade-gtk-text-view.c',
+ 'glade-gtk-tool-button.c',
+ 'glade-gtk-tool-item.c',
+ 'glade-gtk-tool-item-group.c',
+ 'glade-gtk-tool-palette.c',
+ 'glade-gtk-toolbar.c',
+ 'glade-gtk-tree-view.c',
+ 'glade-gtk-viewport.c',
+ 'glade-gtk-widget.c',
+ 'glade-gtk-window.c',
+ 'glade-header-bar-editor.c',
+ 'glade-icon-factory-editor.c',
+ 'glade-icon-sources.c',
+ 'glade-icon-view-editor.c',
+ 'glade-image-editor.c',
+ 'glade-image-item-editor.c',
+ 'glade-label-editor.c',
+ 'glade-layout-editor.c',
+ 'glade-level-bar-editor.c',
+ 'glade-message-dialog-editor.c',
+ 'glade-misc-editor.c',
+ 'glade-model-button-editor.c',
+ 'glade-model-data.c',
+ 'glade-notebook-editor.c',
+ 'glade-popover-editor.c',
+ 'glade-popover-menu-editor.c',
+ 'glade-progress-bar-editor.c',
+ 'glade-real-tree-view-editor.c',
+ 'glade-recent-action-editor.c',
+ 'glade-recent-chooser-dialog-editor.c',
+ 'glade-recent-chooser-editor.c',
+ 'glade-recent-chooser-menu-editor.c',
+ 'glade-recent-chooser-widget-editor.c',
+ 'glade-scale-button-editor.c',
+ 'glade-scale-editor.c',
+ 'glade-scrollable-editor.c',
+ 'glade-scrollbar-editor.c',
+ 'glade-scrolled-window-editor.c',
+ 'glade-spin-button-editor.c',
+ 'glade-stack-editor.c',
+ 'glade-stack-switcher-editor.c',
+ 'glade-store-editor.c',
+ 'glade-string-list.c',
+ 'glade-text-view-editor.c',
+ 'glade-tool-button-editor.c',
+ 'glade-tool-item-group-editor.c',
+ 'glade-tool-palette-editor.c',
+ 'glade-treeview-editor.c',
+ 'glade-viewport-editor.c',
+ 'glade-widget-editor.c',
+ 'glade-window-editor.c',
+)
+
+marshal = 'glade-gtk-marshallers'
+
+# Marshaller generation
+sources += gnome.genmarshal(
+ marshal,
+ sources: marshal + '.list',
+ prefix: 'glade_gtk_marshal',
+ extra_args: '--prototypes',
+)
+
+# Generate resources
+resource_data = files(
+ 'glade-about-dialog-editor.ui',
+ 'glade-action-bar-editor.ui',
+ 'glade-action-editor.ui',
+ 'glade-activatable-editor.ui',
+ 'glade-app-chooser-button-editor.ui',
+ 'glade-app-chooser-widget-editor.ui',
+ 'glade-arrow-editor.ui',
+ 'glade-box-editor.ui',
+ 'glade-button-editor.ui',
+ 'glade-combo-box-editor.ui',
+ 'glade-combo-box-text-editor.ui',
+ 'glade-entry-editor.ui',
+ 'glade-file-chooser-button-editor.ui',
+ 'glade-file-chooser-dialog-editor.ui',
+ 'glade-file-chooser-editor.ui',
+ 'glade-file-chooser-widget-editor.ui',
+ 'glade-font-button-editor.ui',
+ 'glade-font-chooser-dialog-editor.ui',
+ 'glade-font-chooser-editor.ui',
+ 'glade-font-chooser-widget-editor.ui',
+ 'glade-grid-editor.ui',
+ 'glade-header-bar-editor.ui',
+ 'glade-icon-view-editor.ui',
+ 'glade-image-editor.ui',
+ 'glade-label-editor.ui',
+ 'glade-layout-editor.ui',
+ 'glade-level-bar-editor.ui',
+ 'glade-message-dialog-editor.ui',
+ 'glade-misc-editor.ui',
+ 'glade-model-button-editor.ui',
+ 'glade-notebook-editor.ui',
+ 'glade-popover-editor.ui',
+ 'glade-popover-menu-editor.ui',
+ 'glade-progress-bar-editor.ui',
+ 'glade-real-tree-view-editor.ui',
+ 'glade-recent-action-editor.ui',
+ 'glade-recent-chooser-dialog-editor.ui',
+ 'glade-recent-chooser-editor.ui',
+ 'glade-recent-chooser-menu-editor.ui',
+ 'glade-recent-chooser-widget-editor.ui',
+ 'glade-scale-button-editor.ui',
+ 'glade-scale-editor.ui',
+ 'glade-scrollable-editor.ui',
+ 'glade-scrollbar-editor.ui',
+ 'glade-scrolled-window-editor.ui',
+ 'glade-spin-button-editor.ui',
+ 'glade-stack-editor.ui',
+ 'glade-stack-switcher-editor.ui',
+ 'glade-text-view-editor.ui',
+ 'glade-tool-button-editor.ui',
+ 'glade-tool-palette-editor.ui',
+ 'glade-viewport-editor.ui',
+ 'glade-widget-editor.ui',
+ 'glade-window-editor.ui',
+)
+
+# Generate resources
+resource = 'glade-gtk-resources'
+
+sources += gnome.compile_resources(
+ resource,
+ resource + '.gresource.xml',
+ c_name: '_glade_gtk',
+ dependencies: resource_data,
+ export: true,
+)
+
+shared_module(
+ 'gladegtk',
+ sources: sources,
+ dependencies: libgladeui_dep,
+ c_args: '-DG_LOG_DOMAIN="GladeUI-GTK"',
+ kwargs: plugins_kwargs,
+)
+
+catalog_data = files('gtk+.xml')
+if have_gtk_unix_print
+ catalog_data += files('gtkunixprint.xml')
+endif
+
+install_data(
+ catalog_data,
+ install_dir: glade_datadir / glade_catalogdir,
+)
diff --git a/plugins/meson.build b/plugins/meson.build
new file mode 100644
index 00000000..c2d1328c
--- /dev/null
+++ b/plugins/meson.build
@@ -0,0 +1,31 @@
+ldflags = []
+if glade_windows
+ ldflags += cc.get_supported_link_arguments('-no-undefined')
+endif
+
+plugins_kwargs = {
+ 'include_directories': top_inc,
+ 'link_args': ldflags,
+ 'install': true,
+ 'install_dir': glade_libdir / glade_moduledir,
+}
+
+subdir('gtk+')
+
+if have_python
+ subdir('python')
+endif
+
+enable_gladeui = get_option('gladeui')
+if enable_gladeui
+ subdir('gladeui')
+endif
+
+if have_webkit2gtk
+ subdir('webkit2gtk')
+endif
+
+install_data(
+ 'glade-catalog.dtd',
+ install_dir: glade_datadir / glade_catalogdir,
+)
diff --git a/plugins/python/meson.build b/plugins/python/meson.build
new file mode 100644
index 00000000..73ecc8c8
--- /dev/null
+++ b/plugins/python/meson.build
@@ -0,0 +1,13 @@
+deps = [
+ libgladeui_dep,
+ pygobject_dep,
+ python_dep,
+]
+
+shared_module(
+ 'gladepython',
+ sources: 'glade-python.c',
+ dependencies: deps,
+ c_args: '-DG_LOG_DOMAIN="GladeUI-PYTHON"',
+ kwargs: plugins_kwargs,
+)
diff --git a/plugins/webkit2gtk/meson.build b/plugins/webkit2gtk/meson.build
new file mode 100644
index 00000000..a8306f10
--- /dev/null
+++ b/plugins/webkit2gtk/meson.build
@@ -0,0 +1,17 @@
+deps = [
+ libgladeui_dep,
+ webkit2gtk_dep,
+]
+
+shared_module(
+ 'gladewebkit2gtk',
+ sources: 'glade-webkit2gtk.c',
+ dependencies: deps,
+ c_args: '-DG_LOG_DOMAIN="GladeUI-WEBKIT2GTK"',
+ kwargs: plugins_kwargs,
+)
+
+install_data(
+ 'webkit2gtk.xml',
+ install_dir: glade_datadir / glade_catalogdir,
+)