mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-18 13:25:56 +00:00
doc: Build documentation of hotdoc
This commit is contained in:
parent
fbe0d07068
commit
8717cc7108
7 changed files with 81 additions and 0 deletions
11
docs/gst_plugins_cache.json
Normal file
11
docs/gst_plugins_cache.json
Normal 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
3
docs/index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
short-description: GStreamer plugins from OpenMax
|
||||
...
|
62
docs/meson.build
Normal file
62
docs/meson.build
Normal 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
1
docs/sitemap.txt
Normal file
|
@ -0,0 +1 @@
|
|||
gst-index
|
|
@ -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")')
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -59,3 +59,5 @@ gstomx = library('gstomx',
|
|||
install : true,
|
||||
install_dir : plugins_install_dir,
|
||||
)
|
||||
|
||||
plugins = [gstomx]
|
Loading…
Reference in a new issue