|
|
|
subdir('dep1')
|
|
|
|
|
|
|
|
libsources = ['meson-sample.c', 'meson-sample.h']
|
|
|
|
lib2sources = ['meson-sample2.c', 'meson-sample2.h']
|
|
|
|
|
|
|
|
gen_source = custom_target(
|
|
|
|
'meson_smaple3.h',
|
|
|
|
input : 'meson-sample.h',
|
|
|
|
output : 'meson-sample3.h',
|
|
|
|
command : [find_program('copy.py'), '@INPUT@', '@OUTPUT@'],
|
|
|
|
build_by_default : false, # this will force a race condition if one exists
|
|
|
|
)
|
|
|
|
|
|
|
|
girlib = shared_library(
|
|
|
|
'gir_lib',
|
|
|
|
sources : libsources,
|
|
|
|
dependencies : [gobj, dep1_dep],
|
|
|
|
install : true
|
|
|
|
)
|
|
|
|
|
|
|
|
girlib2 = shared_library(
|
|
|
|
'gir_lib2',
|
|
|
|
sources : lib2sources,
|
|
|
|
dependencies : [gobj],
|
|
|
|
install : true
|
|
|
|
)
|
|
|
|
|
|
|
|
girexe = executable(
|
|
|
|
'girprog',
|
|
|
|
sources : 'prog.c',
|
|
|
|
dependencies : [glib, gobj, gir, dep1_dep],
|
|
|
|
link_with : girlib
|
|
|
|
)
|
|
|
|
|
|
|
|
fake_dep = dependency('no-way-this-exists', required: false)
|
|
|
|
|
|
|
|
gnome.generate_gir(
|
|
|
|
girlib, girlib2,
|
|
|
|
sources : [libsources, lib2sources, gen_source],
|
|
|
|
nsversion : '1.0',
|
|
|
|
namespace : 'Meson',
|
|
|
|
symbol_prefix : 'meson',
|
|
|
|
identifier_prefix : 'Meson',
|
|
|
|
includes : ['GObject-2.0', 'MesonDep1-1.0'],
|
|
|
|
# dep1_dep pulls in dep2_dep for us
|
|
|
|
dependencies : [[fake_dep, dep1_dep]],
|
|
|
|
install : true,
|
|
|
|
build_by_default : true,
|
|
|
|
)
|
|
|
|
|
|
|
|
test('gobject introspection/c', girexe)
|
|
|
|
gir_paths = ':'.join([girlib.outdir(), dep1lib.outdir(), dep2lib.outdir(), dep3lib.outdir()])
|
|
|
|
envdata = environment()
|
|
|
|
envdata.append('GI_TYPELIB_PATH', gir_paths, separator : ':')
|
|
|
|
envdata.append('LD_LIBRARY_PATH', gir_paths)
|
|
|
|
if ['windows', 'cygwin'].contains(host_machine.system())
|
|
|
|
envdata.append('PATH', gir_paths)
|
|
|
|
endif
|
|
|
|
test('gobject introspection/py', find_program('prog.py'),
|
|
|
|
env : envdata)
|