doc: Build documentation of hotdoc

This commit is contained in:
Thibault Saunier 2019-04-19 12:38:54 -04:00
parent fbe0d07068
commit 8717cc7108
7 changed files with 81 additions and 0 deletions

View file

@ -0,0 +1,11 @@
{
"omx": {
"description": "GStreamer OpenMAX Plug-ins",
"elements": {},
"filename": "libgstomx.so",
"license": "LGPL",
"package": "GStreamer OpenMAX Plug-ins",
"source": "gst-omx",
"url": "Unknown package origin"
}
}

3
docs/index.md Normal file
View file

@ -0,0 +1,3 @@
---
short-description: GStreamer plugins from OpenMax
...

62
docs/meson.build Normal file
View file

@ -0,0 +1,62 @@
build_hotdoc = false
if meson.is_cross_build()
if get_option('doc').enabled()
error('Documentation enabled but building the doc while cross building is not supported yet.')
endif
message('Documentation not built as building the docmentation while cross building is not supported yet.')
subdir_done()
endif
required_hotdoc_extensions = ['gst-extension']
if gst_dep.type_name() == 'internal'
gst_proj = subproject('gstreamer')
plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
else
required_hotdoc_extensions += ['gst-extension']
plugins_cache_generator = find_program(join_paths(gst_dep.get_pkgconfig_variable('libexecdir'), 'gstreamer-' + api_version, 'gst-plugins-doc-cache-generator'),
required: false)
endif
plugins_cache = join_paths(meson.current_source_dir(), 'gst_plugins_cache.json')
if plugins_cache_generator.found()
plugins_doc_dep = custom_target('omx-plugins-doc-cache',
command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'],
input: plugins,
output: 'gst_plugins_cache.json',
)
else
warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
endif
hotdoc_p = find_program('hotdoc', required: get_option('doc'))
if not hotdoc_p.found()
message('Hotdoc not found, not building the documentation')
subdir_done()
endif
build_hotdoc = true
hotdoc = import('hotdoc')
if not hotdoc.has_extensions(required_hotdoc_extensions)
if get_option('doc').enabled()
error('Documentation enabled but gi-extension missing')
endif
message('@0@ extensions not found, not building documentation'.format(required_hotdoc_extensions))
subdir_done()
endif
message('Plugins: @0@'.format(plugins))
libs_doc = []
plugins_doc = [hotdoc.generate_doc('omx',
project_version: api_version,
sitemap: 'sitemap.txt',
index: 'index.md',
gst_index: 'index.md',
gst_smart_index: true,
gst_c_sources: ['../gst/*/*.[ch]',],
gst_cache_file: plugins_cache,
gst_plugin_name: 'omx',
dependencies: [gstomx],
)]

1
docs/sitemap.txt Normal file
View file

@ -0,0 +1 @@
gst-index

View file

@ -399,6 +399,7 @@ endif
if not get_option('tests').disabled() and gstcheck_dep.found()
subdir('tests')
endif
subdir('docs')
python3 = find_program('python3')
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')

View file

@ -11,3 +11,4 @@ option('struct_packing', type : 'combo',
option('examples', type : 'feature', value : 'auto', yield : true)
option('tests', type : 'feature', value : 'auto', yield : true)
option('tools', type : 'feature', value : 'auto', yield : true)
option('doc', type : 'feature', value : 'auto', yield : true)

View file

@ -59,3 +59,5 @@ gstomx = library('gstomx',
install : true,
install_dir : plugins_install_dir,
)
plugins = [gstomx]