tests: Make libmutter-test.so introspected

This allows perf test cases in gnome-shell to use the public API.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2824>
This commit is contained in:
Jonas Ådahl 2023-02-02 16:14:37 +01:00 committed by Marge Bot
parent 13ca367311
commit d3db3157bb
2 changed files with 43 additions and 3 deletions

View File

@ -32,6 +32,8 @@ tests_includepath = include_directories('.')
tests_includes = mutter_includes
tests_c_args = mutter_c_args
subdir('meta-test')
tests_deps = [
mutter_deps,
libmutter_dep,
@ -59,6 +61,45 @@ libmutter_test_dep = declare_dependency(
dependencies: tests_deps,
)
if have_introspection
mutter_test_introspected_sources = []
foreach source: mutter_test_sources
if source.endswith('.c')
mutter_test_introspected_sources += source
endif
endforeach
libmutter_test_gir = gnome.generate_gir(libmutter_test,
sources: [
mutter_test_introspected_sources,
mutter_test_public_headers,
],
nsversion: libmutter_api_version,
namespace: 'MetaTest',
symbol_prefix: 'meta',
identifier_prefix: 'Meta',
includes: [
'GObject-2.0',
'GDesktopEnums-3.0',
'xlib-2.0',
'xfixes-4.0',
libmutter_cogl_gir[0],
libmutter_cogl_pango_gir[0],
libmutter_clutter_gir[0],
libmutter_gir[0],
],
dependencies: [
mutter_deps,
libmutter_dep,
libmutter_test_dep,
],
extra_args: mutter_c_args + introspection_args,
install_dir_gir: pkglibdir,
install_dir_typelib: pkglibdir,
install: true
)
endif
pkg.generate(libmutter_test,
name: 'Meta (test framework)',
filebase: 'libmutter-test-' + libmutter_api_version,
@ -81,7 +122,6 @@ if have_clutter_tests
subdir('clutter')
endif
subdir('meta-test')
subdir('wayland-test-clients')
if have_installed_tests

View File

@ -1,8 +1,8 @@
mutter_test_includesubdir = join_paths(pkgname, 'meta-test')
mutter_test_public_headers = [
mutter_test_public_headers = files([
'meta-context-test.h',
]
])
install_headers(mutter_test_public_headers,
subdir: mutter_test_includesubdir