| # Test that dependencies with their own generated sources don't |
| # confuse the Vala build instruction generator. |
| |
| # Test case for https://github.com/mesonbuild/meson/issues/1084 |
| |
| gnome = import('gnome') |
| |
| gobject = dependency('gobject-2.0') |
| |
| enums = gnome.mkenums('enum-types', |
| sources: 'enums.h', |
| c_template: 'enum-types.c.template', |
| h_template: 'enum-types.h.template', |
| ) |
| |
| libcommon = library('common', |
| enums[0], enums[1], |
| dependencies: gobject) |
| |
| common_dep = declare_dependency( |
| # This is required so that whoever depends on this also depends |
| # on the generated header; that won't happen implicitly. |
| # See: https://github.com/mesonbuild/meson/issues/1084 |
| sources: enums[1], |
| link_with: libcommon, |
| ) |
| |
| libplover_vala = library('plover', |
| 'lib.vala', |
| dependencies: [common_dep, gobject] |
| ) |
| |
| plover_dep = declare_dependency( |
| link_with: libplover_vala, |
| dependencies: common_dep |
| ) |
| |
| vala_prog = executable('hello', |
| 'main.vala', |
| link_with: libplover_vala, |
| # There's no need to specify common_dep here since plover_dep pulls it |
| # in, but it should be harmless to do so. |
| dependencies: [common_dep, plover_dep, gobject] |
| ) |