private_libvips_headers = [ 'include/vips/almostdeprecated.h', 'include/vips/deprecated.h', 'include/vips/vips7compat.h', 'include/vips/dispatch.h', 'include/vips/enumtypes.h', 'include/vips/internal.h', 'include/vips/thread.h', 'include/vips/intl.h', 'include/vips/format.h', 'include/vips/mask.h', 'include/vips/private.h', 'include/vips/video.h', # ignore all .h files in libvips/*, these are internal 'arithmetic/binary.h', 'arithmetic/hough.h', 'arithmetic/nary.h', 'arithmetic/parithmetic.h', 'arithmetic/statistic.h', 'arithmetic/unary.h', 'arithmetic/unaryconst.h', 'colour/pcolour.h', 'colour/profiles.h', 'conversion/bandary.h', 'conversion/pconversion.h', 'convolution/correlation.h', 'convolution/pconvolution.h', 'create/pcreate.h', 'create/pmask.h', 'create/point.h', 'draw/drawink.h', 'draw/pdraw.h', 'foreign/dbh.h', 'foreign/jpeg.h', 'foreign/magick.h', 'foreign/pforeign.h', 'foreign/quantise.h', 'foreign/tiff.h', 'foreign/libnsgif/lzw.h', 'foreign/libnsgif/nsgif.h', 'foreign/libnsgif/test/cli.h', 'freqfilt/pfreqfilt.h', 'histogram/hist_unary.h', 'histogram/phistogram.h', 'iofuncs/sink.h', 'iofuncs/vipsmarshal.h', 'morphology/pmorphology.h', 'mosaicing/global_balance.h', 'mosaicing/pmosaicing.h', 'resample/presample.h', 'resample/templates.h' ] private_headers = [] foreach private_libvips_header : private_libvips_headers private_headers += [join_paths(meson.project_source_root(), 'libvips', private_libvips_header)] endforeach markdown_content_files = files( 'How-it-works.md', 'libvips-from-C++.md', 'Using-vipsthumbnail.md', 'How-it-opens-files.md', 'Examples.md', 'Cite.md', 'binding.md', 'Making-image-pyramids.md', ) markdown_content_files_docbook = [] foreach markdown_content_file : markdown_content_files # we have some files in markdown ... convert to docbook for gtk-doc # pandoc makes section headers, we want refsect3 for gtk-doc markdown_content_files_docbook += configure_file( input: markdown_content_file, command: [ find_program('pandoc'), '@INPUT@', '--template', files('pandoc-docbook-template.docbook'), '--wrap=none', '-V', 'title=@BASENAME@', '-f', 'markdown+smart', '-t', 'docbook', '-o', '@OUTPUT@', ], output: '@BASENAME@.xml', ) endforeach content_files = files( 'using-command-line.xml', 'using-C.xml', 'using-threads.xml', 'extending.xml', 'function-list.xml', 'file-format.xml', ) images = files( 'images/owl.jpg', 'images/tn_owl.jpg', 'images/interconvert.png', 'images/Combine.png', 'images/Memtrace.png', 'images/Sequence.png', 'images/Sink.png', 'images/Vips-smp.png', ) version_conf = configuration_data() version_conf.set('VIPS_VERSION', meson.project_version ()) vips_docs = configure_file(input: 'libvips-docs.xml.in', output: 'libvips-docs.xml', configuration: version_conf) glib_prefix = glib_dep.get_variable(pkgconfig: 'prefix') glib_docpath = glib_prefix / 'share' / 'gtk-doc' / 'html' docpath = get_option('prefix') / get_option('datadir') / 'gtk-doc' / 'html' gnome.gtkdoc('libvips', mode: 'none', main_xml: 'libvips-docs.xml.in', src_dir: [ join_paths(meson.project_source_root(), 'libvips'), join_paths(meson.project_build_root(), 'libvips'), ], dependencies: libvips_dep, scan_args: [ '--ignore-headers=' + ' '.join(private_headers), '--rebuild-types', ], mkdb_args: [ '--default-includes=vips/vips.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')), ], content_files: [ content_files, markdown_content_files_docbook ], expand_content_files: [ content_files, markdown_content_files_docbook ], html_assets: images, install: true )