mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 20:59:44 +00:00
Build documentation with hotdoc
This commit is contained in:
parent
dde1b6ef3c
commit
3d24de2f24
2 changed files with 41 additions and 14 deletions
53
meson.build
53
meson.build
|
@ -11,6 +11,7 @@ glib_req = '>= 2.40.0'
|
|||
build_system = build_machine.system()
|
||||
cc = meson.get_compiler('c')
|
||||
|
||||
documented_projects = ''
|
||||
# Make it possible to use msys2 built zlib which fails
|
||||
# when not using the mingw toolchain as it uses unistd.h
|
||||
if not meson.is_subproject() and cc.get_id() == 'msvc'
|
||||
|
@ -32,19 +33,19 @@ endif
|
|||
|
||||
# Ordered list of subprojects (dict has no ordering guarantees)
|
||||
subprojects = [
|
||||
['gstreamer', {}],
|
||||
['gst-plugins-base', {}],
|
||||
['gst-plugins-good', {}],
|
||||
['gstreamer', {'build-hotdoc': true}],
|
||||
['gst-plugins-base', {'build-hotdoc': true}],
|
||||
['gst-plugins-good', {'build-hotdoc': true}],
|
||||
['libnice', { 'option': get_option('libnice'), 'match_gst_version': false}],
|
||||
['gst-plugins-bad', { 'option': get_option('bad') }],
|
||||
['gst-plugins-ugly', { 'option': get_option('ugly') }],
|
||||
['gst-libav', { 'option': get_option('libav') }],
|
||||
['gst-rtsp-server', { 'option': get_option('rtsp_server') }],
|
||||
['gst-devtools', { 'option': get_option('devtools')}],
|
||||
['gst-plugins-bad', { 'option': get_option('bad'), 'build-hotdoc': true }],
|
||||
['gst-plugins-ugly', { 'option': get_option('ugly'), 'build-hotdoc': true }],
|
||||
['gst-libav', { 'option': get_option('libav'), 'build-hotdoc': true }],
|
||||
['gst-rtsp-server', { 'option': get_option('rtsp_server'), 'build-hotdoc': true }],
|
||||
['gst-devtools', { 'option': get_option('devtools'), 'build-hotdoc': true }],
|
||||
['gst-integration-testsuites', { 'option': get_option('devtools') }],
|
||||
['gst-editing-services', { 'option': get_option('ges') }],
|
||||
['gstreamer-vaapi', { 'option': get_option('vaapi') }],
|
||||
['gst-omx', { 'option': get_option('omx'), }],
|
||||
['gst-editing-services', { 'option': get_option('ges'), 'build-hotdoc': true }],
|
||||
['gstreamer-vaapi', { 'option': get_option('vaapi'), 'build-hotdoc': true }],
|
||||
['gst-omx', { 'option': get_option('omx'), 'build-hotdoc': true, }],
|
||||
['gstreamer-sharp', { 'option': get_option('sharp') }],
|
||||
['pygobject', { 'option': get_option('python'), 'match_gst_version': false }],
|
||||
['gst-python', { 'option': get_option('python') }],
|
||||
|
@ -66,6 +67,7 @@ endif
|
|||
subproject('orc', required: get_option('orc'))
|
||||
|
||||
subprojects_names = []
|
||||
all_plugins = []
|
||||
foreach sp : subprojects
|
||||
project_name = sp[0]
|
||||
build_infos = sp[1]
|
||||
|
@ -79,10 +81,22 @@ foreach sp : subprojects
|
|||
endif
|
||||
|
||||
if subproj.found()
|
||||
if build_infos.has_key('build-hotdoc', default: false)
|
||||
foreach plugin: subproj.get_variable('plugins')
|
||||
all_plugins += plugin.full_path()
|
||||
endforeach
|
||||
if documented_projects != ''
|
||||
documented_projects += ','
|
||||
endif
|
||||
|
||||
documented_projects += project_name
|
||||
endif
|
||||
documented_projects += project_name
|
||||
|
||||
subprojects_names += [project_name]
|
||||
cmdres = run_command(python3, '-c', symlink.format(project_name, meson.current_source_dir()))
|
||||
if cmdres.returncode() == 0
|
||||
message('Created symlink to ' + project_name)
|
||||
message('Created symlink to ' + project_name)
|
||||
endif
|
||||
endif
|
||||
endforeach
|
||||
|
@ -95,8 +109,21 @@ foreach custom_subproj: get_option('custom_subprojects').split(',')
|
|||
endif
|
||||
endforeach
|
||||
|
||||
message('Building subprojects: ' + ', '.join(subprojects_names))
|
||||
if build_machine.system() == 'windows'
|
||||
message('Disabling hotdoc while building on Windows')
|
||||
else
|
||||
hotdoc_p = find_program('hotdoc', required : get_option('doc'))
|
||||
if hotdoc_p.found()
|
||||
if documented_projects != ''
|
||||
subproject('gst-docs', default_options: 'built_subprojects=' + documented_projects)
|
||||
message('Gst docs subprojects: ' + documented_projects)
|
||||
endif
|
||||
else
|
||||
message('Not building documentation as hotdoc was not found')
|
||||
endif
|
||||
endif
|
||||
|
||||
message('Building subprojects: ' + ', '.join(subprojects_names))
|
||||
setenv = find_program('gst-uninstalled.py')
|
||||
run_target('uninstalled', command : [setenv, '--builddir=@0@'.format(meson.build_root()),
|
||||
'--srcdir=@0@'.format(meson.source_root())])
|
||||
|
|
|
@ -13,7 +13,7 @@ option('custom_subprojects', type : 'string', value : '', description : 'Comma-s
|
|||
|
||||
# Common options, automatically inherited by subprojects
|
||||
option('examples', type : 'feature', value : 'auto', description : 'Build examples')
|
||||
option('gtk_doc', type : 'feature', value : 'auto', description : 'Generate API documentation with gtk-doc')
|
||||
option('introspection', type : 'feature', value : 'auto', description : 'Generate introspection data')
|
||||
option('nls', type : 'feature', value : 'auto', description : 'Enable native language support (translations)')
|
||||
option('orc', type : 'feature', value : 'auto', description : 'Enable Optimized Inner Loop Runtime Compiler')
|
||||
option('doc', type : 'feature', value : 'auto', description : 'Generate API documentation with hotdoc')
|
||||
|
|
Loading…
Reference in a new issue