project('gir link order 2', 'c') if not dependency('gobject-2.0', required : false).found() or not find_program('g-ir-scanner', required: false).found() error('MESON_SKIP_TEST gobject not found.') endif gnome = import('gnome') gobject = dependency('gobject-2.0') # This builds a dummy libsample under samelibname that's not really used subdir('samelibname') # This builds the real libsample meson_sample_sources = ['meson-sample.c', 'meson-sample.h'] meson_sample_lib = shared_library( 'sample', sources : meson_sample_sources, dependencies : [gobject], link_with: [samelibname], install : false, ) # g-ir-scanner should get the linker paths in the right order so it links first # against the target libsample and not the dummy one that's just a dependency # https://github.com/mesonbuild/meson/pull/5423 gnome.generate_gir( meson_sample_lib, sources : meson_sample_sources, nsversion : '1.0', namespace : 'Meson', symbol_prefix : 'meson', identifier_prefix : 'Meson', install : false, build_by_default: true, )