The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
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)
|
|
|