2017-08-24 15:21:41 +02:00
|
|
|
snk = join_paths(meson.current_source_dir(), '..', 'gtk-sharp.snk')
|
2017-08-24 21:49:02 +02:00
|
|
|
pkg = 'gtk'
|
|
|
|
assembly_name = pkg + '-sharp'
|
|
|
|
symbols = join_paths(meson.current_source_dir(), pkg + '-symbols.xml')
|
2017-08-24 15:21:41 +02:00
|
|
|
|
2017-08-24 21:49:02 +02:00
|
|
|
raw_api_fname = join_paths(meson.current_source_dir(), pkg + '-api.raw')
|
2017-08-24 15:21:41 +02:00
|
|
|
metadata_fname = join_paths(meson.current_source_dir(), 'Gtk.metadata')
|
|
|
|
glueincludes = 'gtk/gtk.h'
|
|
|
|
gluefile = join_paths(meson.current_build_dir(), 'generate.c')
|
|
|
|
|
|
|
|
configure_file(input: assembly_name + '.dll.config.in',
|
|
|
|
output: assembly_name + '.dll.config',
|
|
|
|
configuration : remap_dl_data)
|
|
|
|
|
2017-08-31 13:42:08 +02:00
|
|
|
if install
|
|
|
|
configure_file(input: assembly_name + '-3.0.pc.in',
|
|
|
|
output: assembly_name + '-3.0.pc',
|
|
|
|
configuration : version_data,
|
|
|
|
install_dir: pkg_install_dir)
|
|
|
|
endif
|
2017-08-24 15:21:41 +02:00
|
|
|
|
|
|
|
subdir('generated')
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
'Accel.cs',
|
|
|
|
'AccelKey.cs',
|
|
|
|
'Action.cs',
|
|
|
|
'ActionEntry.cs',
|
|
|
|
'ActionGroup.cs',
|
|
|
|
'Adjustment.cs',
|
|
|
|
'Application.cs',
|
|
|
|
'ArrayExtensions.cs',
|
|
|
|
'Bin.cs',
|
|
|
|
'BindingAttribute.cs',
|
|
|
|
'Builder.cs',
|
|
|
|
'Button.cs',
|
|
|
|
'Calendar.cs',
|
|
|
|
'CellAreaBox.cs',
|
|
|
|
'CellLayoutAdapter.cs',
|
|
|
|
'CellRenderer.cs',
|
|
|
|
'CellView.cs',
|
|
|
|
'CheckMenuItem.cs',
|
|
|
|
'ChildPropertyAttribute.cs',
|
|
|
|
'Clipboard.cs',
|
|
|
|
'ColorSelection.cs',
|
|
|
|
'ComboBox.cs',
|
|
|
|
'ComboBoxText.cs',
|
|
|
|
'Container.cs',
|
|
|
|
'Dialog.cs',
|
|
|
|
'Drag.cs',
|
|
|
|
'Entry.cs',
|
|
|
|
'EntryCompletion.cs',
|
|
|
|
'FileChooserDialog.cs',
|
|
|
|
'FileChooserNative.cs',
|
|
|
|
'Frame.cs',
|
|
|
|
'Global.cs',
|
|
|
|
'HBox.cs',
|
|
|
|
'HScale.cs',
|
|
|
|
'ICellLayout.cs',
|
|
|
|
'IconFactory.cs',
|
|
|
|
'IconSet.cs',
|
|
|
|
'IconTheme.cs',
|
|
|
|
'IconView.cs',
|
|
|
|
'Image.cs',
|
|
|
|
'ImageMenuItem.cs',
|
|
|
|
'Init.cs',
|
|
|
|
'ITreeModel.cs',
|
|
|
|
'ITreeNode.cs',
|
|
|
|
'Key.cs',
|
|
|
|
'Label.cs',
|
|
|
|
'ListStore.cs',
|
|
|
|
'Menu.cs',
|
|
|
|
'MenuItem.cs',
|
|
|
|
'MessageDialog.cs',
|
|
|
|
'NativeDialog.cs',
|
|
|
|
'NodeCellDataFunc.cs',
|
|
|
|
'NodeSelection.cs',
|
|
|
|
'NodeStore.cs',
|
|
|
|
'NodeView.cs',
|
|
|
|
'Notebook.cs',
|
|
|
|
'PaperSize.cs',
|
|
|
|
'Plug.cs',
|
|
|
|
'Printer.cs',
|
|
|
|
'RadioAction.cs',
|
|
|
|
'RadioActionEntry.cs',
|
|
|
|
'RadioButton.cs',
|
|
|
|
'RadioMenuItem.cs',
|
|
|
|
'RadioToolButton.cs',
|
|
|
|
'RecentManager.cs',
|
|
|
|
'RowsReorderedHandler.cs',
|
|
|
|
'ScrolledWindow.cs',
|
|
|
|
'SelectionData.cs',
|
|
|
|
'Settings.cs',
|
|
|
|
'SpinButton.cs',
|
|
|
|
'StatusIcon.cs',
|
|
|
|
'Stock.cs',
|
|
|
|
'StockItem.cs',
|
|
|
|
'StockManager.cs',
|
|
|
|
'Style.cs',
|
|
|
|
'StyleContext.cs',
|
|
|
|
'StyleProviderPriority.cs',
|
|
|
|
'Target.cs',
|
|
|
|
'TargetEntry.cs',
|
|
|
|
'TargetList.cs',
|
|
|
|
'TextAttributes.cs',
|
|
|
|
'TextBuffer.cs',
|
|
|
|
'TextChildAnchor.cs',
|
|
|
|
'TextIter.cs',
|
|
|
|
'TextMark.cs',
|
|
|
|
'TextTag.cs',
|
|
|
|
'TextView.cs',
|
|
|
|
'ThreadNotify.cs',
|
|
|
|
'ToggleActionEntry.cs',
|
|
|
|
'TreeEnumerator.cs',
|
|
|
|
'TreeIter.cs',
|
|
|
|
'TreeMenu.cs',
|
|
|
|
'TreeModelAdapter.cs',
|
|
|
|
'TreeModelFilter.cs',
|
|
|
|
'TreeModelSort.cs',
|
|
|
|
'TreeNode.cs',
|
|
|
|
'TreeNodeAttribute.cs',
|
|
|
|
'TreeNodeValueAttribute.cs',
|
|
|
|
'TreePath.cs',
|
|
|
|
'TreeSelection.cs',
|
|
|
|
'TreeStore.cs',
|
|
|
|
'TreeView.cs',
|
|
|
|
'TreeViewColumn.cs',
|
|
|
|
'UIManager.cs',
|
|
|
|
'VBox.cs',
|
|
|
|
'Viewport.cs',
|
|
|
|
'VScale.cs',
|
|
|
|
'Widget.cs',
|
|
|
|
'Window.cs',
|
|
|
|
]
|
|
|
|
|
2017-08-25 15:11:37 +02:00
|
|
|
deps = [glib_sharp, pango_sharp, cairo_sharp, gio_sharp, atk_sharp, gdk_sharp]
|
2017-08-24 15:21:41 +02:00
|
|
|
gtk_sharp = library(assembly_name, source_gen, sources,
|
|
|
|
cs_args: ['-unsafe', '-keyfile:' + snk, '-nowarn:0618,0612,0169'],
|
2017-08-25 15:11:37 +02:00
|
|
|
link_with: deps,
|
2017-08-31 13:42:08 +02:00
|
|
|
install: install,
|
2017-08-24 21:49:02 +02:00
|
|
|
install_dir: lib_install_dir
|
2017-08-24 15:21:41 +02:00
|
|
|
)
|
|
|
|
|
2017-08-24 15:57:07 +02:00
|
|
|
gluegen = custom_target('gtkgluegen',
|
|
|
|
input: raw_api_fname,
|
|
|
|
output: 'generate.c',
|
|
|
|
command: [generate_api, '--fakeglue'],
|
|
|
|
depends: [source_gen])
|
|
|
|
|
|
|
|
library('gtksharpglue-3', gluegen,
|
|
|
|
dependencies: [glib_dep, gio_dep, atk_dep, gdk_dep, gtk_dep],
|
2017-09-06 17:41:00 +02:00
|
|
|
c_args: ['-Wno-error=discarded-qualifiers'],
|
2017-08-31 13:42:08 +02:00
|
|
|
install: install)
|
2017-08-24 15:57:07 +02:00
|
|
|
|
2017-09-01 23:27:16 +02:00
|
|
|
nuget_infos += [['GtkSharp', gtk_sharp, ['GlibSharp', 'GioSharp',
|
|
|
|
'AtkSharp', 'GdkSharp']]]
|
2017-08-24 15:21:41 +02:00
|
|
|
install_infos += [assembly_name, gtk_sharp.full_path()]
|
2017-08-25 15:11:37 +02:00
|
|
|
gtk_sharp_dep = declare_dependency(link_with: deps + [gtk_sharp])
|