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'
# 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') }],
subproject('orc', required: get_option('orc'))
subprojects_names = []
+all_plugins = []
foreach sp : subprojects
project_name = sp[0]
build_infos = sp[1]
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
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())])