summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/gobject/meson.build44
1 files changed, 31 insertions, 13 deletions
diff --git a/tests/gobject/meson.build b/tests/gobject/meson.build
index f40601143..ba72d7a1e 100644
--- a/tests/gobject/meson.build
+++ b/tests/gobject/meson.build
@@ -10,19 +10,37 @@ gobject_tests = [
['references'],
]
-# The marshal test requires running a binary, which means we cannot
-# build it when cross-compiling
-if not meson.is_cross_build() or meson.has_exe_wrapper()
- gnome = import('gnome')
-
- testmarshal_srcs = gnome.genmarshal('testmarshal',
- sources : 'testmarshal.list',
- prefix : 'test_marshal')
-
- gobject_tests += [
- ['accumulator', ['accumulator.c', testmarshal_srcs]],
- ]
-endif
+# We cannot use gnome.genmarshal() here
+testmarshal_h = custom_target('testmarshal_h',
+ output : 'testmarshal.h',
+ input : 'testmarshal.list',
+ command : [
+ python, glib_genmarshal,
+ '--prefix=test_marshal',
+ '--output=@OUTPUT@',
+ '--quiet',
+ '--header',
+ '@INPUT@',
+ ],
+)
+
+testmarshal_c = custom_target('testmarshal_c',
+ output : 'testmarshal.c',
+ input : 'testmarshal.list',
+ command : [
+ python, glib_genmarshal,
+ '--prefix=test_marshal',
+ '--include-header=testmarshal.h',
+ '--output=@OUTPUT@',
+ '--quiet',
+ '--body',
+ '@INPUT@',
+ ],
+)
+
+gobject_tests += [
+ ['accumulator', ['accumulator.c', testmarshal_c, testmarshal_h]],
+]
foreach t : gobject_tests
test_name = t.get(0)