From ae857e841b0a6b9b595583e74f5e21676bb83f9d Mon Sep 17 00:00:00 2001 From: Valeri Date: Thu, 11 Jan 2024 18:55:02 +0300 Subject: Vala: fixes to gresource handling (#12418) * Vala: depend on gresources Valac uses gresource at compile time to look up .ui files * Automatically pass `--gresourcesdir` to valac * gnome.compile_resources: clean up duplicate paths better * Add a test for improved gresouce handling --- test cases/vala/28 generated ui file/TestBox.ui.in | 6 ++++ test cases/vala/28 generated ui file/meson.build | 34 ++++++++++++++++++++++ .../vala/28 generated ui file/test.gresource.xml | 6 ++++ test cases/vala/28 generated ui file/test.vala | 7 +++++ 4 files changed, 53 insertions(+) create mode 100644 test cases/vala/28 generated ui file/TestBox.ui.in create mode 100644 test cases/vala/28 generated ui file/meson.build create mode 100644 test cases/vala/28 generated ui file/test.gresource.xml create mode 100644 test cases/vala/28 generated ui file/test.vala (limited to 'test cases') diff --git a/test cases/vala/28 generated ui file/TestBox.ui.in b/test cases/vala/28 generated ui file/TestBox.ui.in new file mode 100644 index 0000000..bf5c831 --- /dev/null +++ b/test cases/vala/28 generated ui file/TestBox.ui.in @@ -0,0 +1,6 @@ + + + + + diff --git a/test cases/vala/28 generated ui file/meson.build b/test cases/vala/28 generated ui file/meson.build new file mode 100644 index 0000000..fbf9840 --- /dev/null +++ b/test cases/vala/28 generated ui file/meson.build @@ -0,0 +1,34 @@ +project('demo', 'c', 'vala') + +gnome = import('gnome', required: false) + +if not gnome.found() + error('MESON_SKIP_TEST: gnome module not supported') +endif + +deps = [ + dependency('glib-2.0', version : '>=2.50'), + dependency('gobject-2.0'), + dependency('gtk+-3.0'), +] + +ui_tgt = custom_target( + input: 'TestBox.ui.in', + output: 'TestBox.ui', + command: [find_program('cat')], + feed: true, + capture: true, +) + +resources = gnome.compile_resources('test-resources', + 'test.gresource.xml', + c_name: 'test_res', + dependencies: ui_tgt, +) + +executable( + 'demo', + 'test.vala', + resources, + dependencies: deps, +) diff --git a/test cases/vala/28 generated ui file/test.gresource.xml b/test cases/vala/28 generated ui file/test.gresource.xml new file mode 100644 index 0000000..382b951 --- /dev/null +++ b/test cases/vala/28 generated ui file/test.gresource.xml @@ -0,0 +1,6 @@ + + + + TestBox.ui + + diff --git a/test cases/vala/28 generated ui file/test.vala b/test cases/vala/28 generated ui file/test.vala new file mode 100644 index 0000000..36f565b --- /dev/null +++ b/test cases/vala/28 generated ui file/test.vala @@ -0,0 +1,7 @@ +[GtkTemplate (ui = "/com/mesonbuild/test/TestBox.ui")] +class TestBox: Gtk.Box { +} + +int main() { + return 0; +} -- cgit v1.1