summaryrefslogtreecommitdiffstats
path: root/test cases/frameworks/28 gir link order 2/meson.build
blob: a26531bce7fdaaa41035de4ca5a6288be701c117 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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,
)