# 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