Fix find_program test on Windows using terrible hack.

pull/15/head
Jussi Pakkanen 12 years ago
parent e6e5566b6f
commit 124b5cc392
  1. 2
      backends.py
  2. 26
      test cases/common/31 find program/meson.build

@ -438,6 +438,8 @@ class NinjaBackend(Backend):
outfile.write('rule %s\n' % rule.name)
command = ' '.join([ninja_quote(x) for x in rule.cmd_list])
command = command.replace('@INFILE@', '$in').replace('@OUTFILE@', '$out')
command = command.replace('@SOURCE_ROOT@', self.environment.get_source_dir())
command = command.replace('@BUILD_ROOT@', self.environment.get_build_dir())
outfile.write(' command = %s\n' % command)
desc = rule.description.replace('@INFILE@', '$in')
outfile.write(' description = %s\n' % desc)

@ -1,12 +1,20 @@
project('find program', 'c')
cp = find_program('cp', required : true)
if host.name() == 'windows'
# Things Windows does not provide:
# - an executable to copy files without prompting
# - working command line quoting
# - anything that you might actually need
# Because of these reasons we only check that
# the program can be found.
cp = find_program('xcopy', required : true)
else
cp = find_program('cp', required : true)
gen = generator(cp, \
output_name : '@BASENAME@.c', \
arguments : ['@INPUT@', '@OUTPUT@'])
gen = generator(cp, \
output_name : '@BASENAME@.c', \
arguments : ['@INPUT@', '@OUTPUT@'])
generated = gen.process('source.in')
e = executable('prog', generated)
add_test('external exe', e)
generated = gen.process('source.in')
e = executable('prog', generated)
add_test('external exe', e)
endif

Loading…
Cancel
Save