From 212efbdd81ff1abef57332de4513b4ffef1eea6b Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Fri, 29 Mar 2019 17:29:36 +0100 Subject: [PATCH] meson: build docs and man pages Lots of warnings, so something is probably still missing. --- .gitlab-ci/test-docker-meson.sh | 4 +- docs/reference/gdk/meson.build | 177 ++++++++ docs/reference/gtk/meson.build | 535 ++++++++++++++++++++++++ docs/reference/libgail-util/meson.build | 19 + docs/reference/meson.build | 20 + docs/tools/meson.build | 12 + meson.build | 10 +- 7 files changed, 771 insertions(+), 6 deletions(-) create mode 100644 docs/reference/gdk/meson.build create mode 100644 docs/reference/gtk/meson.build create mode 100644 docs/reference/libgail-util/meson.build create mode 100644 docs/reference/meson.build create mode 100644 docs/tools/meson.build diff --git a/.gitlab-ci/test-docker-meson.sh b/.gitlab-ci/test-docker-meson.sh index ab1f8cd50d..b24c866c08 100755 --- a/.gitlab-ci/test-docker-meson.sh +++ b/.gitlab-ci/test-docker-meson.sh @@ -9,7 +9,7 @@ export CCACHE_DIR="${CCACHE_BASEDIR}/_ccache" export PATH="${HOME}/.local/bin:${PATH}" python3 -m pip install --user meson==0.49.2 -meson _build +meson -Ddocumentation=true -Dman-pages=true _build cd _build ninja @@ -18,3 +18,5 @@ xvfb-run -a -s "-screen 0 1024x768x24" \ --timeout-multiplier 4 \ --print-errorlogs \ --suite=gtk+-3.0 \ + +ninja gail-libgail-util3-doc gdk3-doc gtk3-doc diff --git a/docs/reference/gdk/meson.build b/docs/reference/gdk/meson.build new file mode 100644 index 0000000000..e84fac07a4 --- /dev/null +++ b/docs/reference/gdk/meson.build @@ -0,0 +1,177 @@ +private_headers = [ + 'gdkintl.h', + 'gdkmarshalers.h', + 'gdkkeysyms.h', + 'gdkinternals.h', + 'gdkprivate.h', + 'gdk-private.h', + 'gdkapplaunchcontextprivate.h', + 'gdkcursorprivate.h', + 'gdkdevicemanagerprivate.h', + 'gdkdeviceprivate.h', + 'gdkdisplaymanagerprivate.h', + 'gdkdisplayprivate.h', + 'gdkdndprivate.h', + 'gdkframeclockprivate.h', + 'gdkglcontextprivate.h', + 'gdkkeysprivate.h', + 'gdkscreenprivate.h', + 'gdkseatdefaultprivate.h', + 'gdkseatprivate.h', + 'gdkvisualprivate.h', + 'keyname-table.h', + 'win32', + 'x11', + 'quartz', + 'broadway', + 'wayland', +] + +images = [ + 'images/rotated-text.png', + 'images/X_cursor.png', + 'images/arrow.png', + 'images/based_arrow_down.png', + 'images/based_arrow_up.png', + 'images/boat.png', + 'images/bogosity.png', + 'images/bottom_left_corner.png', + 'images/bottom_right_corner.png', + 'images/bottom_side.png', + 'images/bottom_tee.png', + 'images/box_spiral.png', + 'images/center_ptr.png', + 'images/circle.png', + 'images/clock.png', + 'images/coffee_mug.png', + 'images/cross.png', + 'images/cross_reverse.png', + 'images/crosshair.png', + 'images/diamond_cross.png', + 'images/dot.png', + 'images/dotbox.png', + 'images/double_arrow.png', + 'images/draft_large.png', + 'images/draft_small.png', + 'images/draped_box.png', + 'images/exchange.png', + 'images/fleur.png', + 'images/gobbler.png', + 'images/gumby.png', + 'images/hand1.png', + 'images/hand2.png', + 'images/heart.png', + 'images/icon.png', + 'images/iron_cross.png', + 'images/left_ptr.png', + 'images/left_side.png', + 'images/left_tee.png', + 'images/leftbutton.png', + 'images/ll_angle.png', + 'images/lr_angle.png', + 'images/man.png', + 'images/middlebutton.png', + 'images/mouse.png', + 'images/pencil.png', + 'images/pirate.png', + 'images/plus.png', + 'images/question_arrow.png', + 'images/right_ptr.png', + 'images/right_side.png', + 'images/right_tee.png', + 'images/rightbutton.png', + 'images/rtl_logo.png', + 'images/sailboat.png', + 'images/sb_down_arrow.png', + 'images/sb_h_double_arrow.png', + 'images/sb_left_arrow.png', + 'images/sb_right_arrow.png', + 'images/sb_up_arrow.png', + 'images/sb_v_double_arrow.png', + 'images/shuttle.png', + 'images/sizing.png', + 'images/spider.png', + 'images/spraycan.png', + 'images/star.png', + 'images/target.png', + 'images/tcross.png', + 'images/top_left_arrow.png', + 'images/top_left_corner.png', + 'images/top_right_corner.png', + 'images/top_side.png', + 'images/top_tee.png', + 'images/trek.png', + 'images/ul_angle.png', + 'images/umbrella.png', + 'images/ur_angle.png', + 'images/watch.png', + 'images/xterm.png', + 'images/alias_cursor.png', + 'images/all_scroll_cursor.png', + 'images/cell_cursor.png', + 'images/col_resize_cursor.png', + 'images/copy_cursor.png', + 'images/crosshair_cursor.png', + 'images/default_cursor.png', + 'images/e_resize_cursor.png', + 'images/ew_resize_cursor.png', + 'images/grabbing_cursor.png', + 'images/grab_cursor.png', + 'images/hand_cursor.png', + 'images/context_menu_cursor.png', + 'images/help_cursor.png', + 'images/move_cursor.png', + 'images/ne_resize_cursor.png', + 'images/nesw_resize_cursor.png', + 'images/no_drop_cursor.png', + 'images/not_allowed_cursor.png', + 'images/n_resize_cursor.png', + 'images/ns_resize_cursor.png', + 'images/nw_resize_cursor.png', + 'images/nwse_resize_cursor.png', + 'images/pointer_cursor.png', + 'images/progress_cursor.png', + 'images/row_resize_cursor.png', + 'images/se_resize_cursor.png', + 'images/s_resize_cursor.png', + 'images/sw_resize_cursor.png', + 'images/text_cursor.png', + 'images/vertical_text_cursor.png', + 'images/wait_cursor.png', + 'images/w_resize_cursor.png', + 'images/X_cursor.png', + 'images/zoom_in_cursor.png', + 'images/zoom_out_cursor.png', +] + +src_dir = [ gdkinc ] + +if x11_enabled + src_dir += [ gdkx11_inc ] +endif + +if wayland_enabled + src_dir += [ gdkwayland_inc ] +endif + +configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf) + +gnome.gtkdoc('gdk3', + mode: 'none', + main_xml: 'gdk-docs.sgml', + src_dir: src_dir, + dependencies: libgdk_dep, + gobject_typesfile: join_paths(meson.current_source_dir(), 'gdk3.types'), + scan_args: [ + '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT', + '--ignore-headers=' + ' '.join(private_headers), + ], + 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), + ], + html_assets: images, + install: true) diff --git a/docs/reference/gtk/meson.build b/docs/reference/gtk/meson.build new file mode 100644 index 0000000000..d179dac518 --- /dev/null +++ b/docs/reference/gtk/meson.build @@ -0,0 +1,535 @@ +private_headers = [ + 'inspector', + 'a11y', + 'gtkaccelgroupprivate.h', + 'gtkaccelmapprivate.h', + 'gtkadjustmentprivate.h', + 'gtkallocatedbitmaskprivate.h', + 'gtkappchooserprivate.h', + 'gtkapplicationaccelsprivate.h', + 'gtkapplicationprivate.h', + 'gtkbindingsprivate.h', + 'gtkbitmaskprivate.h', + 'gtkboxprivate.h', + 'gtkbuilderprivate.h', + 'gtkbuttonprivate.h', + 'gtkcairoblurprivate.h', + 'gtkcellareaboxcontextprivate.h', + 'gtkclipboardprivate.h', + 'gtkcolorchooserprivate.h', + 'gtkcoloreditorprivate.h', + 'gtkcolorplaneprivate.h', + 'gtkcolorscaleprivate.h', + 'gtkcolorswatchprivate.h', + 'gtkcomboboxprivate.h', + 'gtkcontainerprivate.h', + 'gtkcssanimatedstyleprivate.h', + 'gtkcssanimationprivate.h', + 'gtkcssarrayvalueprivate.h', + 'gtkcssbgsizevalueprivate.h', + 'gtkcssbordervalueprivate.h', + 'gtkcsscolorvalueprivate.h', + 'gtkcsscornervalueprivate.h', + 'gtkcsscustompropertyprivate.h', + 'gtkcsseasevalueprivate.h', + 'gtkcssenginevalueprivate.h', + 'gtkcssenumvalueprivate.h', + 'gtkcssiconthemevalueprivate.h', + 'gtkcssimagebuiltinprivate.h', + 'gtkcssimagecrossfadeprivate.h', + 'gtkcssimagegradientprivate.h', + 'gtkcssimageiconthemeprivate.h', + 'gtkcssimagelinearprivate.h', + 'gtkcssimageprivate.h', + 'gtkcssimagescaledprivate.h', + 'gtkcssimagesurfaceprivate.h', + 'gtkcssimageurlprivate.h', + 'gtkcssimagevalueprivate.h', + 'gtkcssimagewin32private.h', + 'gtkcssinheritvalueprivate.h', + 'gtkcssinitialvalueprivate.h', + 'gtkcsskeyframesprivate.h', + 'gtkcsslookupprivate.h', + 'gtkcssmatcherprivate.h', + 'gtkcssnodeprivate.h', + 'gtkcssnodedeclarationprivate.h', + 'gtkcssnumbervalueprivate.h', + 'gtkcsspathnodeprivate.h', + 'gtkcssparserprivate.h', + 'gtkcsspositionvalueprivate.h', + 'gtkcssproviderprivate.h', + 'gtkcssrepeatvalueprivate.h', + 'gtkcssrgbavalueprivate.h', + 'gtkcsssectionprivate.h', + 'gtkcssselectorprivate.h', + 'gtkcssshadowsvalueprivate.h', + 'gtkcssshadowvalueprivate.h', + 'gtkcssshorthandpropertyprivate.h', + 'gtkcssstaticstyleprivate.h', + 'gtkcssstringvalueprivate.h', + 'gtkcssstylefuncsprivate.h', + 'gtkcssstyleprivate.h', + 'gtkcssstylepropertyprivate.h', + 'gtkcsstransformvalueprivate.h', + 'gtkcsstransientnodeprivate.h', + 'gtkcsstransitionprivate.h', + 'gtkcsstypedvalueprivate.h', + 'gtkcsstypesprivate.h', + 'gtkcssunsetvalueprivate.h', + 'gtkcssvalueprivate.h', + 'gtkcsswidgetnodeprivate.h', + 'gtkdialogprivate.h', + 'gtkentryprivate.h', + 'gtkeventcontrollerprivate.h', + 'gtkfilechooserprivate.h', + 'gtkfilechooserwidgetprivate.h', + 'gtkfontchooserprivate.h', + 'gtkgesturedragprivate.h', + 'gtkgesturelongpressprivate.h', + 'gtkgesturemultipressprivate.h', + 'gtkgesturepanprivate.h', + 'gtkgestureprivate.h', + 'gtkgesturerotateprivate.h', + 'gtkgesturesingleprivate.h', + 'gtkgestureswipeprivate.h', + 'gtkgesturezoomprivate.h', + 'gtkheaderbarprivate.h', + 'gtkhslaprivate.h', + 'gtkiconhelperprivate.h', + 'gtkiconviewprivate.h', + 'gtkimageprivate.h', + 'gtkimmoduleprivate.h', + 'gtklabelprivate.h', + 'gtklockbuttonprivate.h', + 'gtkmagnifierprivate.h', + 'gtkmenubuttonprivate.h', + 'gtkmenuitemprivate.h', + 'gtkmenuprivate.h', + 'gtkmenushellprivate.h', + 'gtkmodulesprivate.h', + 'gtkmountoperationprivate.h', + 'gtkorientableprivate.h', + 'gtkpixelcacheprivate.h', + 'gtkplacessidebarprivate.h', + 'gtkplacesviewprivate.h', + 'gtkplacesviewrowprivate.h', + 'gtkpopoverprivate.h', + 'gtkprinter-private.h', + 'gtkprintoperation-private.h', + 'gtkprivate.h', + 'gtkrangeprivate.h', + 'gtkrecentchooserprivate.h', + 'gtkrenderbackgroundprivate.h', + 'gtkrenderborderprivate.h', + 'gtkrendericonprivate.h', + 'gtkrenderprivate.h', + 'gtkroundedboxprivate.h', + 'gtkscaleprivate.h', + 'gtksearchengine.h', + 'gtksearchenginemodel.h', + 'gtksearchenginequartz.h', + 'gtksearchenginesimple.h', + 'gtksearchenginetracker.h', + 'gtksearchentryprivate.h', + 'gtkselectionprivate.h', + 'gtksettingsprivate.h', + 'gtksidebarrowprivate.h', + 'gtksizegroup-private.h', + 'gtksizerequestcacheprivate.h', + 'gtksocketprivate.h', + 'gtkstyleanimationprivate.h', + 'gtkstylecascadeprivate.h', + 'gtkstylecontextprivate.h', + 'gtkstylepropertyprivate.h', + 'gtkstyleproviderprivate.h', + 'gtktextattributesprivate.h', + 'gtktextchildprivate.h', + 'gtktexthandleprivate.h', + 'gtktextiterprivate.h', + 'gtktextmarkprivate.h', + 'gtktexttagprivate.h', + 'gtktogglebuttonprivate.h', + 'gtktoolbarprivate.h', + 'gtktoolpaletteprivate.h', + 'gtktooltipprivate.h', + 'gtktooltipwindowprivate.h', + 'gtktreeprivate.h', + 'gtkwidgetprivate.h', + 'gtkwin32themeprivate.h', + 'gtkwindowprivate.h', + 'fnmatch.h', + 'gtkactionmuxer.h', + 'gtkactionobserver.h', + 'gtkactionobservable.h', + 'gtk9slice.h', + 'gtkanimationdescription.h', + 'gtkbitmaskprivateimpl.h', + 'gtkbookmarksmanager.h', + 'gtkdbusgenerated.c', + 'gtkdbusgenerated.h', + 'gtkdebug.h', + 'gtkactionhelper.h', + 'gtkdndcursors.h', + 'gtkfilechooserdefault.h', + 'gtkfilechooserembed.h', + 'gtkfilechooserentry.h', + 'gtkfilechoosersettings.h', + 'gtkfilechooserutils.h', + 'gtkfilesystem.h', + 'gtkfilesystemmodel.h', + 'gtkfilesystemunix.h', + 'gtkfilesystemwin32.h', + 'gtkfontchooserutils.h', + 'gtkiconcache.h', + 'gtkiconcachevalidator.h', + 'gtkiconthemeparser.h', + 'gtkintl.h', + 'gtkkeyhash.h', + 'gtkkineticscrolling.h', + 'gtkmarshal.h', + 'gtkmnemonichash.h', + 'gtkmenutracker.h', + 'gtkmenutrackeritem.h', + 'gtkmenusectionbox.h', + 'gtkmodelmenu.h', + 'gtkmodelmenuitem.h', + 'gtkmodifierstyle.h', + 'gtkpathbar.h', + 'gtkprintbackend.h', + 'gtkprinteroption.h', + 'gtkprinteroptionset.h', + 'gtkprinteroptionwidget.h', + 'gtkprint-win32.h', + 'gtkprintutils.h', + 'gtkprivate.h', + 'gtkprivatetypebuiltins.h', + 'gtkquery.h', + 'gtkrbtree.h', + 'gtkrecentchooserdefault.h', + 'gtkrecentchooserutils.h', + 'gtksearchengine.h', + 'gtksearchenginetracker.h', + 'gtksearchenginesimple.h', + 'gtksearchenginequartz.h', + 'gtksequence.h', + 'gtksocketprivate.h', + 'gtktextbtree.h', + 'gtktextbufferserialize.h', + 'gtktextdisplay.h', + 'gtktextlayout.h', + 'gtktextsegment.h', + 'gtktexttypes.h', + 'gtktextutil.h', + 'gtktimeline.h', + 'gtkthemes.h', + 'gtktrashmonitor.h', + 'gtktrayicon.h', + 'gtktreedatalist.h', + 'gtktreemenu.h', + 'gtktypebuiltins.h', + 'gtkxembed.h', + 'gtkwin32embed.h', + 'gtkwin32embedwidget.h', + 'gtkwindow-decorate.h', + 'xdgmime', + 'xembed.h', +] + +images = [ + 'images/aboutdialog.png', + 'images/accel-label.png', + 'images/action-bar.png', + 'images/appchooserbutton.png', + 'images/appchooserdialog.png', + 'images/assistant.png', + 'images/box-packing.png', + 'images/box-expand.png', + 'images/button.png', + 'images/check-button.png', + 'images/color-button.png', + 'images/colorchooser.png', + 'images/combo-box.png', + 'images/combo-box-entry.png', + 'images/combo-box-text.png', + 'images/entry.png', + 'images/figure-hierarchical-drawing.png', + 'images/figure-windowed-label.png', + 'images/file-button.png', + 'images/filechooser.png', + 'images/font-button.png', + 'images/fontchooser.png', + 'images/frame.png', + 'images/glarea.png', + 'images/headerbar.png', + 'images/icon-view.png', + 'images/image.png', + 'images/info-bar.png', + 'images/label.png', + 'images/levelbar.png', + 'images/link-button.png', + 'images/list-and-tree.png', + 'images/lock-button.png', + 'images/lockbutton.png', + 'images/lockbutton-locked.png', + 'images/lockbutton-unlocked.png', + 'images/lockbutton-sorry.png', + 'images/menubar.png', + 'images/menu-button.png', + 'images/messagedialog.png', + 'images/multiline-text.png', + 'images/notebook.png', + 'images/panes.png', + 'images/pagesetupdialog.png', + 'images/placessidebar.png', + 'images/popup-anchors.png', + 'images/popup-flip.png', + 'images/popup-slide.png', + 'images/printdialog.png', + 'images/progressbar.png', + 'images/radio-group.png', + 'images/recentchooserdialog.png', + 'images/scales.png', + 'images/scrollbar.png', + 'images/scrolledwindow.png', + 'images/search-bar.png', + 'images/search-entry.png', + 'images/separator.png', + 'images/sidebar.png', + 'images/spinbutton.png', + 'images/spinner.png', + 'images/stack.png', + 'images/stackswitcher.png', + 'images/statusbar.png', + 'images/toggle-button.png', + 'images/toolbar.png', + 'images/toolpalette.png', + 'images/tree-view-coordinates.png', + 'images/volumebutton.png', + 'images/window.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/widget-hvalign.png', + 'images/window-default.png', + 'images/hello-world.png', + 'images/grid-packing.png', + 'images/drawing.png', + 'images/switch.png', + 'images/linear.png', + 'images/ease.png', + 'images/ease-in-out.png', + 'images/ease-in.png', + 'images/ease-out.png', + 'images/gradient1.png', + 'images/gradient2.png', + 'images/gradient3.png', + 'images/gradient4.png', + 'images/border1.png', + 'images/border2.png', + 'images/border3.png', + 'images/slices.png', + 'images/checks.png', + 'images/options.png', + 'images/arrows.png', + 'images/expanders.png', + 'images/background.png', + 'images/frames.png', + 'images/frame-gap.png', + 'images/sliders.png', + 'images/focus.png', + 'images/handles.png', + 'images/extensions.png', + 'images/numerableicon.png', + 'images/numerableicon2.png', + 'images/bloatpad-osx.png', + 'images/bloatpad-gnome.png', + 'images/bloatpad-xfce.png', + 'images/down-center.png', + 'images/down-end.png', + 'images/down-start.png', + 'images/left-center.png', + 'images/left-end.png', + 'images/left-start.png', + 'images/right-center.png', + 'images/right-end.png', + 'images/right-start.png', + 'images/up-center.png', + 'images/up-end.png', + 'images/up-start.png', + 'images/list-box.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/getting-started-app10.png', + 'images/exampleapp.png', + 'images/flow-box.png', + 'images/inspector.png', + 'images/gedit-shortcuts.png', + 'images/clocks-shortcuts.png', + 'images/builder-shortcuts.png', +] + +content_files = [ + 'broadway.xml', + 'broadwayd.xml', + 'building.sgml', + 'compiling.sgml', + 'css-overview.xml', + 'css-properties.xml', + 'drawing-model.xml', + 'getting_started.xml', + 'glossary.xml', + 'gtk3-demo-application.xml', + 'gtk3-demo.xml', + 'gtk3-icon-browser.xml', + 'gtk3-widget-factory.xml', + 'gtk-builder-tool.xml', + 'gtk-encode-symbolic-svg.xml', + 'gtk-launch.xml', + 'gtk-query-immodules-3.0.xml', + 'gtk-query-settings.xml', + 'gtk-update-icon-cache.xml', + 'input-handling.xml', + 'migrating-2to3.xml', + 'migrating-3xtoy.xml', + 'migrating-checklist.sgml', + 'migrating-GtkGrid.xml', + 'migrating-GtkStyleContext.xml', + 'migrating-smclient-GtkApplication.xml', + 'migrating-unique-GtkApplication.xml', + 'mir.xml', + 'osx.sgml', + 'overview.xml', + 'question_index.sgml', + 'resources.sgml', + 'running.sgml', + 'text_widget.sgml', + 'tree_widget.sgml', + 'visual_index.xml', + 'wayland.xml', + 'windows.sgml', + 'x11.sgml', +] + +expand_content_files = [ + 'compiling.sgml', + 'drawing-model.xml', + 'getting_started.xml', + 'glossary.xml', + 'input-handling.xml', + 'migrating-2to3.xml', + 'migrating-3xtoy.xml', + 'migrating-checklist.sgml', + 'migrating-GtkGrid.xml', + 'migrating-GtkStyleContext.xml', + 'migrating-smclient-GtkApplication.xml', + 'migrating-unique-GtkApplication.xml', + 'question_index.sgml', + 'text_widget.sgml', + 'tree_widget.sgml', +] + +configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf) + +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 + +gnome.gtkdoc('gtk3', + mode: 'none', + main_xml: 'gtk-docs.sgml', + src_dir: [ + gtkinc, + ], + dependencies: libgtk_dep, + gobject_typesfile: configure_file( + input: 'gtk3.types.in', + output: 'gtk3.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', + ], + content_files: content_files, + expand_content_files: expand_content_files, + html_assets: images, + install: true) + +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 = [ + [ 'gtk-query-immodules-3.0', '1', ], + [ 'gtk-update-icon-cache', '1', ], + [ 'gtk-encode-symbolic-svg', '1', ], + [ 'gtk-launch', '1', ], + [ 'gtk3-demo', '1', ], + [ 'gtk3-demo-application', '1', ], + [ 'gtk3-widget-factory', '1', ], + [ 'gtk3-icon-browser', '1', ], + [ 'broadwayd', '1', ], + [ 'gtk-builder-tool', '1', ], + [ 'gtk-query-settings', '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 diff --git a/docs/reference/libgail-util/meson.build b/docs/reference/libgail-util/meson.build new file mode 100644 index 0000000000..dea5ecc597 --- /dev/null +++ b/docs/reference/libgail-util/meson.build @@ -0,0 +1,19 @@ +configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf) + +gnome.gtkdoc('gail-libgail-util3', + mode: 'none', + main_xml: 'gail-libgail-util-docs.sgml', + src_dir: libgailutilinc, + dependencies: [libgtk_dep, libgailutil], + gobject_typesfile: join_paths(meson.current_source_dir(), 'gail-libgail-util3.types'), + scan_args: [ + '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT', + ], + 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=../gtk', + ], + install: true) diff --git a/docs/reference/meson.build b/docs/reference/meson.build new file mode 100644 index 0000000000..3edf5f7d6d --- /dev/null +++ b/docs/reference/meson.build @@ -0,0 +1,20 @@ +glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix') +glib_docpath = join_paths(glib_prefix, 'share', 'gtk-doc', 'html') + +cairo_prefix = dependency('cairo-gobject').get_pkgconfig_variable('prefix') +cairo_docpath = join_paths(cairo_prefix, 'share', 'gtk-doc', 'html', 'cairo') + +gdkpixbuf_prefix = dependency('gdk-pixbuf-2.0').get_pkgconfig_variable('prefix') +gdkpixbuf_docpath = join_paths(gdkpixbuf_prefix, 'share', 'gtk-doc', 'html', 'gdk-pixbuf') + +docpath = join_paths(gtk_datadir, 'gtk-doc', 'html') + +version_conf = configuration_data() +version_conf.set('GTK_VERSION', meson.project_version()) + +src_dir_conf = configuration_data() +src_dir_conf.set('SRC_DIR', meson.source_root()) + +subdir('gdk') +subdir('gtk') +subdir('libgail-util') diff --git a/docs/tools/meson.build b/docs/tools/meson.build new file mode 100644 index 0000000000..05621ee7ed --- /dev/null +++ b/docs/tools/meson.build @@ -0,0 +1,12 @@ +if x11_enabled + doc_shooter_sources = [ + 'shadow.c', + 'shooter.c', + 'widgets.c', + '../../tests/gtkgears.c', + ] + + doc_shooter = executable('doc-shooter', doc_shooter_sources, + include_directories: [ confinc, gdkinc, gtkinc, testinc, ], + dependencies: libgtk_dep) +endif diff --git a/meson.build b/meson.build index 9693318a9f..1d370e127b 100644 --- a/meson.build +++ b/meson.build @@ -294,6 +294,7 @@ endif confinc = include_directories('.') gdkinc = include_directories('gdk') gtkinc = include_directories('gtk') +libgailutilinc = include_directories('libgail-util') testinc = include_directories('tests') # Dependencies @@ -832,13 +833,12 @@ if os_unix install_dir: pkg_install_dir) endif -# TODO subdir('po') subdir('po-properties') -#if get_option('documentation') -# subdir('docs/tools') -# subdir('docs/reference') -#endif +if get_option('documentation') + subdir('docs/tools') + subdir('docs/reference') +endif # Keep this in sync with post-install.py expected arguments meson.add_install_script('build-aux/meson/post-install.py',