diff --git a/README.md b/README.md index 2d5d73a01b..11d38d438d 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,23 @@ Update all GStreamer modules without rebuilding: ninja -C build/ git-update ``` +## Custom subprojects + +We also added a meson option, 'custom_subprojects', that allows the user +to provide a comma-separated list of subprojects that should be built +alongside the default ones. + +To use it: + +``` +cd subprojects +git clone my_subproject +cd ../build +rm -rf * && meson .. -Dcustom_subprojects=my_subproject +ninja +``` + + ## Run tests You can easily run the test of all the components: diff --git a/meson.build b/meson.build index a4ff133805..ea5d80d189 100644 --- a/meson.build +++ b/meson.build @@ -90,6 +90,14 @@ import os os.symlink(os.path.join('@1@', 'subprojects', '@0@'), os.path.join('@1@', '@0@')) ''' + +foreach custom_subproj: get_option('custom_subprojects').split(',') + if custom_subproj != '' + message ('Adding custom subproject ' + custom_subproj) + subprojects += [custom_subproj] + endif +endforeach + foreach subproj: subprojects subproject(subproj, version: gst_version) diff --git a/meson_options.txt b/meson_options.txt index ddcc13f50d..fc73eb84fc 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -7,3 +7,4 @@ option('disable_gst_editing_services', type : 'boolean', value : false) option('disable_rtsp_server', type : 'boolean', value : false) option('disable_gst_omx', type : 'boolean', value : true) option('disable_gstreamer_vaapi', type : 'boolean', value : false) +option('custom_subprojects', type : 'string', value : '', description : 'Comma-separated project names')