diff options
| author | Florian "sp1rit" <sp1rit@disroot.org> | 2025-06-11 19:10:12 +0200 |
|---|---|---|
| committer | Jussi Pakkanen <jussi.pakkanen@mailbox.org> | 2025-06-23 19:59:53 +0300 |
| commit | fea9f6918a6647430f4e22ca908f074b3e93e489 (patch) | |
| tree | 102087d670e2f9b5145bccdf7ac84f1c3c10f838 /test cases/unit | |
| parent | 19d3e4dc30bd3210eb85e29a538ad1606adef1bc (diff) | |
| download | meson-fea9f6918a6647430f4e22ca908f074b3e93e489.tar.gz | |
vala: Also add --target-glib if glib is built as subproject
Previously, meson would only check if glib was part of
target.external_dependencies and add --target-glib appropriately. This
however had the downside of meson not adding --target-glib if glib was
included as a subproject, potentially breaking otherwise builds.
Instead of checking external_dependencies, check target.added_deps for
an occurrence of 'glib-2.0' and then pick the appropriate codepath
(either from the external dependency based on version_reqs or for the
internal dependency based on the actual version, potentially downgraded
to the latest release version)
Related-to: #14694
Diffstat (limited to 'test cases/unit')
| -rw-r--r-- | test cases/unit/129 vala internal glib/lib.vala | 3 | ||||
| -rw-r--r-- | test cases/unit/129 vala internal glib/meson.build | 21 | ||||
| -rw-r--r-- | test cases/unit/129 vala internal glib/meson.options | 1 |
3 files changed, 25 insertions, 0 deletions
diff --git a/test cases/unit/129 vala internal glib/lib.vala b/test cases/unit/129 vala internal glib/lib.vala new file mode 100644 index 000000000..e62e63234 --- /dev/null +++ b/test cases/unit/129 vala internal glib/lib.vala @@ -0,0 +1,3 @@ +public int func() { + return 42; +} diff --git a/test cases/unit/129 vala internal glib/meson.build b/test cases/unit/129 vala internal glib/meson.build new file mode 100644 index 000000000..947908200 --- /dev/null +++ b/test cases/unit/129 vala internal glib/meson.build @@ -0,0 +1,21 @@ +project('vala internal glib') + +if not add_languages('vala', required: false) + error('MESON_SKIP_TEST valac not installed') +endif + +glib_ver = get_option('glib-version') +if glib_ver == 'unset' + error('Required to set -Dglib-version') +endif + +glib_dep = declare_dependency(version: glib_ver) +meson.override_dependency('glib-2.0', glib_dep) + +named_glib_dep = dependency('glib-2.0') + +assert(named_glib_dep.type_name() == 'internal') +assert(glib_dep == named_glib_dep) + +tgt = static_library('vala-tgt', 'lib.vala', + dependencies: named_glib_dep) diff --git a/test cases/unit/129 vala internal glib/meson.options b/test cases/unit/129 vala internal glib/meson.options new file mode 100644 index 000000000..f8a1ecee3 --- /dev/null +++ b/test cases/unit/129 vala internal glib/meson.options @@ -0,0 +1 @@ +option('glib-version', type: 'string', value: 'unset') |
