Optionally install examples and tests

This makes it easier to test PipeWire in its "as-installed" state,
for example in an OS distribution.

The .test metadata files in ${datadir}/installed-tests/${package} are
a convention taken from GNOME's installed-tests initiative, allowing a
generic test-runner like gnome-desktop-testing to discover and run tests
in an automatic way.

The installation path ${libexecdir}/installed-tests/${package} is also
a convention borrowed from GNOME's installed-tests initiative.

In addition to the automated tests, I've installed example executables
in the same place, for manual testing. They could be separated into
a different directory if desired, but they seem like they have more
similarities with the automated tests than differences: both are there
to test that PipeWire works correctly, and neither should be relied on
for production use. Some examples are installed in deeper subdirectories
to avoid name clashes.

Signed-off-by: Simon McVittie <smcv@debian.org>
This commit is contained in:
Simon McVittie 2020-06-05 14:06:36 +01:00 committed by Wim Taymans
parent 8b97d2ae74
commit b852b58f82
10 changed files with 158 additions and 27 deletions

View file

@ -3,14 +3,16 @@ if sdl_dep.found()
include_directories : [configinc, spa_inc],
c_args : ['-D_GNU_SOURCE'],
dependencies : [dl_lib, sdl_dep, pthread_lib],
install : false)
install : installed_tests_enabled,
install_dir : join_paths(installed_tests_execdir, 'examples', 'spa'))
if get_option('libcamera') and libcamera_dep.found()
executable('local-libcamera', 'local-libcamera.c',
include_directories : [configinc, spa_inc],
c_args : ['-D_GNU_SOURCE'],
dependencies : [dl_lib, sdl_dep, pthread_lib, libcamera_dep],
install : false)
install : installed_tests_enabled,
install_dir : join_paths(installed_tests_execdir, 'examples', 'spa'))
endif
endif
@ -18,10 +20,12 @@ executable('example-control', 'example-control.c',
include_directories : [configinc, spa_inc],
c_args : ['-D_GNU_SOURCE'],
dependencies : [dl_lib, pthread_lib, mathlib],
install : false)
install : installed_tests_enabled,
install_dir : join_paths(installed_tests_execdir, 'examples', 'spa'))
executable('adapter-control', 'adapter-control.c',
include_directories : [configinc, spa_inc],
c_args : ['-D_GNU_SOURCE'],
dependencies : [dl_lib, pthread_lib, mathlib],
install : false)
install : installed_tests_enabled,
install_dir : join_paths(installed_tests_execdir, 'examples', 'spa'))