forked from AuroraMiddleware/gtk
535 lines
15 KiB
Meson
535 lines
15 KiB
Meson
fs = import('fs')
|
|
|
|
private_headers = [
|
|
'imm-extra.h',
|
|
'gtkbitmaskprivateimpl.h',
|
|
'gdkpixbufutilsprivate.h',
|
|
'gtkaccelgroupprivate.h',
|
|
'gtkaccelmapprivate.h',
|
|
'gtkaccessibleattributesetprivate.h',
|
|
'gtkaccessibleattributevalueprivate.h',
|
|
'gtkaccessibleprivate.h',
|
|
'gtkaccessiblevalueprivate.h',
|
|
'gtkactionhelperprivate.h',
|
|
'gtkactionmuxerprivate.h',
|
|
'gtkactionobservableprivate.h',
|
|
'gtkactionobserverprivate.h',
|
|
'gtkadjustmentprivate.h',
|
|
'gtkallocatedbitmaskprivate.h',
|
|
'gtkappchooserprivate.h',
|
|
'gtkapplicationaccelsprivate.h',
|
|
'gtkapplicationprivate.h',
|
|
'gtkatcontextprivate.h',
|
|
'gtkbindingsprivate.h',
|
|
'gtkbitmaskprivate.h',
|
|
'gtkbuilderprivate.h',
|
|
'gtkbuilderscopeprivate.h',
|
|
'gtkbuttonprivate.h',
|
|
'gtkcellareaboxcontextprivate.h',
|
|
'gtkcheckbuttonprivate.h',
|
|
'gtkcolorchooserprivate.h',
|
|
'gtkcoloreditorprivate.h',
|
|
'gtkcolorplaneprivate.h',
|
|
'gtkcolorscaleprivate.h',
|
|
'gtkcolorswatchprivate.h',
|
|
'gtkcolumnlistitemfactoryprivate.h',
|
|
'gtkcolumnviewcellprivate.h',
|
|
'gtkcolumnviewcolumnprivate.h',
|
|
'gtkcolumnviewlayoutprivate.h',
|
|
'gtkcolumnviewprivate.h',
|
|
'gtkcolumnviewsorterprivate.h',
|
|
'gtkcolumnviewtitleprivate.h',
|
|
'gtkcomboboxprivate.h',
|
|
'gtkconstraintexpressionprivate.h',
|
|
'gtkconstraintguideprivate.h',
|
|
'gtkconstraintlayoutprivate.h',
|
|
'gtkconstraintprivate.h',
|
|
'gtkconstraintsolverprivate.h',
|
|
'gtkconstrainttypesprivate.h',
|
|
'gtkconstraintvflparserprivate.h',
|
|
'gtkcssanimatedstyleprivate.h',
|
|
'gtkcssanimationprivate.h',
|
|
'gtkcssarrayvalueprivate.h',
|
|
'gtkcssbgsizevalueprivate.h',
|
|
'gtkcssbordervalueprivate.h',
|
|
'gtkcssboxesimplprivate.h',
|
|
'gtkcssboxesprivate.h',
|
|
'gtkcsscalcvalueprivate.h',
|
|
'gtkcsscolorvalueprivate.h',
|
|
'gtkcsscornervalueprivate.h',
|
|
'gtkcssdimensionvalueprivate.h',
|
|
'gtkcssdynamicprivate.h',
|
|
'gtkcsseasevalueprivate.h',
|
|
'gtkcssenumvalueprivate.h',
|
|
'gtkcssfiltervalueprivate.h',
|
|
'gtkcssfontfeaturesvalueprivate.h',
|
|
'gtkcssfontvariationsvalueprivate.h',
|
|
'gtkcssiconthemevalueprivate.h',
|
|
'gtkcssimagecrossfadeprivate.h',
|
|
'gtkcssimagefallbackprivate.h',
|
|
'gtkcssimageiconthemeprivate.h',
|
|
'gtkcssimageinvalidprivate.h',
|
|
'gtkcssimagelinearprivate.h',
|
|
'gtkcssimagepaintableprivate.h',
|
|
'gtkcssimageprivate.h',
|
|
'gtkcssimageradialprivate.h',
|
|
'gtkcssimagerecolorprivate.h',
|
|
'gtkcssimagescaledprivate.h',
|
|
'gtkcssimageurlprivate.h',
|
|
'gtkcssimagevalueprivate.h',
|
|
'gtkcssimagewin32private.h',
|
|
'gtkcssinheritvalueprivate.h',
|
|
'gtkcssinitialvalueprivate.h',
|
|
'gtkcsskeyframesprivate.h',
|
|
'gtkcsslookupprivate.h',
|
|
'gtkcssmatcherprivate.h',
|
|
'gtkcssnodedeclarationprivate.h',
|
|
'gtkcssnodeprivate.h',
|
|
'gtkcssnodestylecacheprivate.h',
|
|
'gtkcssnumbervalueprivate.h',
|
|
'gtkcsspalettevalueprivate.h',
|
|
'gtkcssparserprivate.h',
|
|
'gtkcsspathnodeprivate.h',
|
|
'gtkcsspositionvalueprivate.h',
|
|
'gtkcssproviderprivate.h',
|
|
'gtkcssrepeatvalueprivate.h',
|
|
'gtkcssrgbavalueprivate.h',
|
|
'gtkcsssectionprivate.h',
|
|
'gtkcssselectorprivate.h',
|
|
'gtkcssshadowsvalueprivate.h',
|
|
'gtkcssshadowvalueprivate.h',
|
|
'gtkcssshorthandpropertyprivate.h',
|
|
'gtkcssstaticstyleprivate.h',
|
|
'gtkcssstringvalueprivate.h',
|
|
'gtkcssstylechangeprivate.h',
|
|
'gtkcssstyleprivate.h',
|
|
'gtkcssstylepropertyprivate.h',
|
|
'gtkcsstransformvalueprivate.h',
|
|
'gtkcsstransientnodeprivate.h',
|
|
'gtkcsstransitionprivate.h',
|
|
'gtkcsstypesprivate.h',
|
|
'gtkcssunsetvalueprivate.h',
|
|
'gtkcssvalueprivate.h',
|
|
'gtkcsswidgetnodeprivate.h',
|
|
'gtkcsswin32sizevalueprivate.h',
|
|
'gtkdialogprivate.h',
|
|
'gtkentryprivate.h',
|
|
'gtkeventcontrollerlegacyprivate.h',
|
|
'gtkeventcontrollerprivate.h',
|
|
'gtkfilechoosererrorstackprivate.h',
|
|
'gtkfilechoosernativeprivate.h',
|
|
'gtkfilechooserprivate.h',
|
|
'gtkfilechooserwidgetprivate.h',
|
|
'gtkfilefilterprivate.h',
|
|
'gtkfontchooserprivate.h',
|
|
'gtkfontchooserwidgetprivate.h',
|
|
'gtkgesturedragprivate.h',
|
|
'gtkgesturelongpressprivate.h',
|
|
'gtkgesturemultipressprivate.h',
|
|
'gtkgesturepanprivate.h',
|
|
'gtkgestureprivate.h',
|
|
'gtkgesturerotateprivate.h',
|
|
'gtkgesturesingleprivate.h',
|
|
'gtkgesturestylusprivate.h',
|
|
'gtkgestureswipeprivate.h',
|
|
'gtkgesturezoomprivate.h',
|
|
'gtkgizmoprivate.h',
|
|
'gtkheaderbarprivate.h',
|
|
'gtkhslaprivate.h',
|
|
'gtkiconcacheprivate.h',
|
|
'gtkiconcachevalidatorprivate.h',
|
|
'gtkiconhelperprivate.h',
|
|
'gtkiconprivate.h',
|
|
'gtkiconthemeprivate.h',
|
|
'gtkiconviewprivate.h',
|
|
'gtkimagedefinitionprivate.h',
|
|
'gtkimageprivate.h',
|
|
'gtkimcontextsimpleprivate.h',
|
|
'gtkimmoduleprivate.h',
|
|
'gtkkineticscrollingprivate.h',
|
|
'gtklabelprivate.h',
|
|
'gtklistbaseprivate.h',
|
|
'gtklistitemprivate.h',
|
|
'gtklistitemfactoryprivate.h',
|
|
'gtklistitemmanagerprivate.h',
|
|
'gtklistitemwidgetprivate.h',
|
|
'gtklockbuttonprivate.h',
|
|
'gtkmagnifierprivate.h',
|
|
'gtkmediafileprivate.h',
|
|
'gtkmenubuttonprivate.h',
|
|
'gtkmenusectionboxprivate.h',
|
|
'gtkmenutrackeritemprivate.h',
|
|
'gtkmenutrackerprivate.h',
|
|
'gtkmodulesprivate.h',
|
|
'gtkmountoperationprivate.h',
|
|
'gtknativedialogprivate.h',
|
|
'gtknomediafileprivate.h',
|
|
'gtkpango.h',
|
|
'gtkplacessidebarprivate.h',
|
|
'gtkplacesviewprivate.h',
|
|
'gtkplacesviewrowprivate.h',
|
|
'gtkpointerfocusprivate.h',
|
|
'gtkpopoverprivate.h',
|
|
'gtkprinterprivate.h',
|
|
'gtkprintoperation-private.h',
|
|
'gtkprivate.h',
|
|
'gtkprogresstrackerprivate.h',
|
|
'gtkquery.h',
|
|
'gtkrangeprivate.h',
|
|
'gtkrbtreeprivate.h',
|
|
'gtkrenderbackgroundprivate.h',
|
|
'gtkrenderborderprivate.h',
|
|
'gtkrendericonprivate.h',
|
|
'gtkrendernodepaintableprivate.h',
|
|
'gtkroundedboxprivate.h',
|
|
'gtkscalerprivate.h',
|
|
'gtksearchentryprivate.h',
|
|
'gtksettingsprivate.h',
|
|
'gtkshortcutcontrollerprivate.h',
|
|
'gtkshortcutsshortcutprivate.h',
|
|
'gtkshortcutswindowprivate.h',
|
|
'gtksidebarrowprivate.h',
|
|
'gtksizegroup-private.h',
|
|
'gtksizerequestcacheprivate.h',
|
|
'gtksnapshotprivate.h',
|
|
'gtkstyleanimationprivate.h',
|
|
'gtkstylecascadeprivate.h',
|
|
'gtkstylecontextprivate.h',
|
|
'gtkstylepropertyprivate.h',
|
|
'gtkstyleproviderprivate.h',
|
|
'gtktextbufferprivate.h',
|
|
'gtktextchildprivate.h',
|
|
'gtktextdisplayprivate.h',
|
|
'gtktexthandleprivate.h',
|
|
'gtktexthistoryprivate.h',
|
|
'gtktextiterprivate.h',
|
|
'gtktextlayoutprivate.h',
|
|
'gtktextlinedisplaycacheprivate.h',
|
|
'gtktextmarkprivate.h',
|
|
'gtktexttagprivate.h',
|
|
'gtktextviewprivate.h',
|
|
'gtktogglebuttonprivate.h',
|
|
'gtktoolbarprivate.h',
|
|
'gtktooltipprivate.h',
|
|
'gtktooltipwindowprivate.h',
|
|
'gtktreepopoverprivate.h',
|
|
'gtktreeprivate.h',
|
|
'gtktreerbtreeprivate.h',
|
|
'gtkutilsprivate.h',
|
|
'gtkwidgetpaintableprivate.h',
|
|
'gtkwidgetpathprivate.h',
|
|
'gtkwidgetprivate.h',
|
|
'gtkwin32drawprivate.h',
|
|
'gtkwin32themeprivate.h',
|
|
'gtkwindowprivate.h',
|
|
'gtk-text-input-client-protocol.h',
|
|
'roaring.h',
|
|
]
|
|
|
|
images = [
|
|
'images/aboutdialog.png',
|
|
'images/action-bar.png',
|
|
'images/appchooserbutton.png',
|
|
'images/appchooserdialog.png',
|
|
'images/arrows.png',
|
|
'images/assistant.png',
|
|
'images/background.png',
|
|
'images/bloatpad-gnome.png',
|
|
'images/bloatpad-osx.png',
|
|
'images/bloatpad-xfce.png',
|
|
'images/border1.png',
|
|
'images/border2.png',
|
|
'images/border3.png',
|
|
'images/box.png',
|
|
'images/box-expand.png',
|
|
'images/box-packing.png',
|
|
'images/builder-shortcuts.png',
|
|
'images/button.png',
|
|
'images/calendar.png',
|
|
'images/capture-bubble.png',
|
|
'images/centerbox.png',
|
|
'images/check-button.png',
|
|
'images/checks.png',
|
|
'images/clocks-shortcuts.png',
|
|
'images/color-button.png',
|
|
'images/colorchooser.png',
|
|
'images/combo-box-entry.png',
|
|
'images/combo-box.png',
|
|
'images/combo-box-text.png',
|
|
'images/down-center.png',
|
|
'images/down-end.png',
|
|
'images/down-start.png',
|
|
'images/drop-down.png',
|
|
'images/drawing.png',
|
|
'images/drawingarea.png',
|
|
'images/ease-in-out.png',
|
|
'images/ease-in.png',
|
|
'images/ease-out.png',
|
|
'images/ease.png',
|
|
'images/editable-label.png',
|
|
'images/emojichooser.png',
|
|
'images/entry.png',
|
|
'images/exampleapp.png',
|
|
'images/expanders.png',
|
|
'images/expander.png',
|
|
'images/extensions.png',
|
|
'images/figure-hierarchical-drawing.png',
|
|
'images/figure-windowed-label.png',
|
|
'images/file-button.png',
|
|
'images/filechooser.png',
|
|
'images/flow-box.png',
|
|
'images/focus.png',
|
|
'images/font-button.png',
|
|
'images/fontchooser.png',
|
|
'images/frame-gap.png',
|
|
'images/frame.png',
|
|
'images/frames.png',
|
|
'images/gedit-shortcuts.png',
|
|
'images/getting-started-app10.png',
|
|
'images/getting-started-app1.png',
|
|
'images/getting-started-app2.png',
|
|
'images/getting-started-app3.png',
|
|
'images/getting-started-app4.png',
|
|
'images/getting-started-app6.png',
|
|
'images/getting-started-app7.png',
|
|
'images/getting-started-app8.png',
|
|
'images/getting-started-app9.png',
|
|
'images/glarea.png',
|
|
'images/gradient1.png',
|
|
'images/gradient2.png',
|
|
'images/gradient3.png',
|
|
'images/gradient4.png',
|
|
'images/grid.png',
|
|
'images/grid-packing.png',
|
|
'images/handles.png',
|
|
'images/headerbar.png',
|
|
'images/hello-world.png',
|
|
'images/icon-view.png',
|
|
'images/image.png',
|
|
'images/info-bar.png',
|
|
'images/inspector.png',
|
|
'images/label.png',
|
|
'images/layout-btlr.png',
|
|
'images/layout-btrl.png',
|
|
'images/layout-lrbt.png',
|
|
'images/layout-lrtb.png',
|
|
'images/layout-rlbt.png',
|
|
'images/layout-rltb.png',
|
|
'images/layout-tblr.png',
|
|
'images/layout-tbrl.png',
|
|
'images/left-center.png',
|
|
'images/left-end.png',
|
|
'images/left-start.png',
|
|
'images/levelbar.png',
|
|
'images/linear.png',
|
|
'images/link-button.png',
|
|
'images/list-and-tree.png',
|
|
'images/list-box.png',
|
|
'images/lockbutton-locked.png',
|
|
'images/lock-button.png',
|
|
'images/lockbutton.png',
|
|
'images/lockbutton-sorry.png',
|
|
'images/lockbutton-unlocked.png',
|
|
'images/media-controls.png',
|
|
'images/menu.png',
|
|
'images/menubar.png',
|
|
'images/menu-button.png',
|
|
'images/messagedialog.png',
|
|
'images/multiline-text.png',
|
|
'images/notebook.png',
|
|
'images/options.png',
|
|
'images/overlay.png',
|
|
'images/pagesetupdialog.png',
|
|
'images/panes.png',
|
|
'images/password-entry.png',
|
|
'images/picture.png',
|
|
'images/popover.png',
|
|
'images/popup-anchors.png',
|
|
'images/popup-at.svg',
|
|
'images/popup-flip.png',
|
|
'images/popup-slide.png',
|
|
'images/printdialog.png',
|
|
'images/progressbar.png',
|
|
'images/right-center.png',
|
|
'images/right-end.png',
|
|
'images/right-start.png',
|
|
'images/scales.png',
|
|
'images/scrollbar.png',
|
|
'images/scrolledwindow.png',
|
|
'images/search-bar.png',
|
|
'images/search-entry.png',
|
|
'images/separator.png',
|
|
'images/shortcuts-window.png',
|
|
'images/sidebar.png',
|
|
'images/slices.png',
|
|
'images/sliders.png',
|
|
'images/spinbutton.png',
|
|
'images/spinner.png',
|
|
'images/stack.png',
|
|
'images/stackswitcher.png',
|
|
'images/statusbar.png',
|
|
'images/switch.png',
|
|
'images/toggle-button.png',
|
|
'images/toolbar.png',
|
|
'images/tree-view-coordinates.png',
|
|
'images/up-center.png',
|
|
'images/up-end.png',
|
|
'images/up-start.png',
|
|
'images/video.png',
|
|
'images/volumebutton.png',
|
|
'images/widget-hvalign.png',
|
|
'images/windowcontrols.png',
|
|
'images/window-default.png',
|
|
'images/window.png',
|
|
'images/rich-list.png',
|
|
'images/data-table.png',
|
|
'images/navigation-sidebar.png'
|
|
]
|
|
|
|
content_files = [
|
|
'gtk4-broadwayd.xml',
|
|
'gtk4-builder-tool.xml',
|
|
'gtk4-demo-application.xml',
|
|
'gtk4-demo.xml',
|
|
'gtk4-encode-symbolic-svg.xml',
|
|
'gtk4-icon-browser.xml',
|
|
'gtk4-launch.xml',
|
|
'gtk4-query-settings.xml',
|
|
'gtk4-update-icon-cache.xml',
|
|
'gtk4-widget-factory.xml',
|
|
'overview.xml',
|
|
'visual_index.xml',
|
|
]
|
|
|
|
expand_content_md_files = [
|
|
'broadway.md',
|
|
'osx.md',
|
|
'wayland.md',
|
|
'windows.md',
|
|
'x11.md',
|
|
'getting_started.md',
|
|
'resources.md',
|
|
'building.md',
|
|
'compiling.md',
|
|
'running.md',
|
|
'migrating-2to4.md',
|
|
'migrating-3to4.md',
|
|
'actions.md',
|
|
'input-handling.md',
|
|
'drawing-model.md',
|
|
'css-overview.md',
|
|
'css-properties.md',
|
|
'section-accessibility.md',
|
|
'section-text-widget.md',
|
|
'section-tree-widget.md',
|
|
'section-list-widget.md',
|
|
'question_index.md',
|
|
]
|
|
|
|
types_conf = configuration_data()
|
|
if os_win32
|
|
types_conf.set('DISABLE_ON_W32', '%')
|
|
else
|
|
types_conf.set('DISABLE_ON_W32', '')
|
|
endif
|
|
|
|
if os_darwin
|
|
types_conf.set('DISABLE_ON_QUARTZ', '%')
|
|
else
|
|
types_conf.set('DISABLE_ON_QUARTZ', '')
|
|
endif
|
|
|
|
if get_option('gtk_doc')
|
|
configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
|
|
|
|
# gtk-markdown-to-docbook uses pandoc
|
|
pandoc = find_program('pandoc', required: true)
|
|
expand_md = find_program('gtk-markdown-to-docbook')
|
|
expand_md_targets = []
|
|
foreach t : expand_content_md_files
|
|
expand_md_targets += custom_target(t,
|
|
input: [ t ],
|
|
output: [ fs.replace_suffix(t, '.xml') ],
|
|
command: [ expand_md, '@INPUT@', '@OUTPUT@'])
|
|
endforeach
|
|
|
|
gnome.gtkdoc('gtk4',
|
|
mode: 'none',
|
|
main_xml: 'gtk4-docs.xml',
|
|
src_dir: [
|
|
gtkinc,
|
|
],
|
|
dependencies: libgtk_dep,
|
|
gobject_typesfile: configure_file(
|
|
input: 'gtk4.types.in',
|
|
output: 'gtk4.types',
|
|
configuration: types_conf,
|
|
),
|
|
scan_args: [
|
|
'--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
|
|
'--ignore-headers=' + ' '.join(private_headers),
|
|
],
|
|
mkdb_args: [
|
|
'--default-includes=gtk/gtk.h',
|
|
],
|
|
fixxref_args: [
|
|
'--html-dir=@0@'.format(docpath),
|
|
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
|
|
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
|
|
'--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
|
|
'--extra-dir=@0@'.format(cairo_docpath),
|
|
'--extra-dir=@0@'.format(gdkpixbuf_docpath),
|
|
'--extra-dir=../gdk',
|
|
'--extra-dir=../gsk',
|
|
],
|
|
content_files: content_files + expand_md_targets,
|
|
html_assets: images,
|
|
install: true)
|
|
endif
|
|
|
|
xsltproc = find_program('xsltproc', required: false)
|
|
if get_option('man-pages') and not xsltproc.found()
|
|
error('No xsltproc found, but man pages were explicitly enabled')
|
|
endif
|
|
|
|
if get_option('man-pages') and xsltproc.found()
|
|
xlstproc_flags = [
|
|
'--nonet',
|
|
'--stringparam', 'man.output.quietly', '1',
|
|
'--stringparam', 'funcsynopsis.style', 'ansi',
|
|
'--stringparam', 'man.th.extra1.suppress', '1',
|
|
'--stringparam', 'man.authors.section.enabled', '0',
|
|
'--stringparam', 'man.copyright.section.enabled', '0',
|
|
]
|
|
|
|
man_files = [
|
|
[ 'gtk4-broadwayd', '1', ],
|
|
[ 'gtk4-builder-tool', '1', ],
|
|
[ 'gtk4-demo', '1', ],
|
|
[ 'gtk4-demo-application', '1', ],
|
|
[ 'gtk4-encode-symbolic-svg', '1', ],
|
|
[ 'gtk4-icon-browser', '1', ],
|
|
[ 'gtk4-launch', '1', ],
|
|
[ 'gtk4-query-settings', '1', ],
|
|
[ 'gtk4-update-icon-cache', '1', ],
|
|
[ 'gtk4-widget-factory', '1', ],
|
|
]
|
|
|
|
foreach man: man_files
|
|
man_name = man.get(0)
|
|
man_section = man.get(1, '1')
|
|
custom_target('@0@.@1@'.format(man_name, man_section),
|
|
input: '@0@.xml'.format(man_name),
|
|
output: '@0@.@1@'.format(man_name, man_section),
|
|
command: [
|
|
xsltproc,
|
|
xlstproc_flags,
|
|
'-o', '@OUTPUT@',
|
|
'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
|
|
'@INPUT@',
|
|
],
|
|
install: true,
|
|
install_dir: join_paths(get_option('mandir'), 'man@0@'.format(man_section)))
|
|
endforeach
|
|
endif
|