meson: simplify test setup

Resources are loaded from the current working directory. By setting the
current working directory to the source dir, rather than the out of tree
build dir, we can easily pick up the original resources without copying
them around during configuration.
This commit is contained in:
Eli Schwartz
2021-12-14 19:29:56 -05:00
parent a977397684
commit f6c991658b

View File

@@ -62,26 +62,6 @@ if meson.version().version_compare('>= 0.54.0')
endif endif
if get_option('tests') if get_option('tests')
# Try to find a copy command. If this is windows we probably don't have cp,
# but if this is msys then we do, so make cp not required in that case, and
# try Xcopy if cp isn't found
prog_cp = find_program('cp', required : build_machine.system() != 'windows')
command = ['-r']
if not prog_cp.found()
prog_cp = find_program('Xcopy')
command = ['/E', '/I']
endif
# Copy the test resources into the build dir
run_command(
prog_cp,
[
command,
meson.current_source_dir() / 'resources',
meson.current_build_dir(),
],
)
test( test(
'xmltest', 'xmltest',
executable( executable(
@@ -89,7 +69,7 @@ if get_option('tests')
['xmltest.cpp'], ['xmltest.cpp'],
link_with : [lib_tinyxml2], link_with : [lib_tinyxml2],
), ),
workdir : meson.current_build_dir(), workdir : meson.current_source_dir(),
) )
endif endif