diff options
author | Iñigo Martínez <inigomartinez@gmail.com> | 2019-03-21 16:36:07 +0100 |
---|---|---|
committer | Iñigo Martínez <inigomartinez@gmail.com> | 2019-03-30 21:15:41 +0100 |
commit | 79bd7e5a84b01e4a50365deca3ef799acd8c998b (patch) | |
tree | 1b890c265f020a5a200a9ffc6f66c8efc3fd4218 /plugins | |
parent | 9b22a0251053b5869d6c2505aa9e9f34f16e0183 (diff) | |
download | glade-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.build | 17 | ||||
-rw-r--r-- | plugins/gtk+/icons/meson.build | 165 | ||||
-rw-r--r-- | plugins/gtk+/meson.build | 248 | ||||
-rw-r--r-- | plugins/meson.build | 31 | ||||
-rw-r--r-- | plugins/python/meson.build | 13 | ||||
-rw-r--r-- | plugins/webkit2gtk/meson.build | 17 |
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, +) |