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.
46 lines
1.5 KiB
46 lines
1.5 KiB
# This test is on its own because it is special. |
|
# To run the test you need the prebuilt object |
|
# file for the given platform. |
|
# |
|
# Combined with cross compilation this would make |
|
# the state space explode so let's just keep this |
|
# in its own subdir so it's not run during cross |
|
# compilation tests. |
|
|
|
project('prebuilt object', 'c') |
|
|
|
if host_machine.system() == 'windows' |
|
prebuilt = 'prebuilt.obj' |
|
else |
|
prebuilt = 'prebuilt.o' |
|
endif |
|
|
|
# Remember: do not put source.c in this |
|
# declaration. run_tests.py generates the |
|
# prebuilt object before running this test. |
|
|
|
e = [] |
|
|
|
e += executable('exe1', sources: 'main.c', objects: prebuilt) |
|
e += executable('exe2', sources: 'main.c', objects: files(prebuilt)) |
|
|
|
sl1 = static_library('lib3', objects: prebuilt) |
|
e += executable('exe3', sources: 'main.c', objects: sl1.extract_all_objects(recursive: true)) |
|
|
|
ct = custom_target(output: 'copy-' + prebuilt, input: prebuilt, |
|
command: [find_program('cp.py'), '@INPUT@', '@OUTPUT@']) |
|
e += executable('exe4', 'main.c', ct) |
|
e += executable('exe5', 'main.c', ct[0]) |
|
|
|
sl2 = static_library('lib6', sources: ct) |
|
e += executable('exe6', sources: 'main.c', objects: sl2.extract_all_objects(recursive: true)) |
|
|
|
e += executable('exe7', sources: 'main.c', objects: ct) |
|
e += executable('exe8', sources: 'main.c', objects: ct[0]) |
|
|
|
sl3 = static_library('lib9', objects: ct) |
|
e += executable('exe9', sources: 'main.c', objects: sl2.extract_all_objects(recursive: true)) |
|
|
|
foreach i : e |
|
test(i.name(), i) |
|
endforeach
|
|
|