diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2013-04-12 19:48:46 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2013-04-12 19:48:46 +0300 |
commit | 124b5cc3929f7ae520cdc29e58f60fd0ade65a5b (patch) | |
tree | 75ca3a09f678033ba87ca29673db5a58d76d847b | |
parent | e6e5566b6f35771ba1c06a3c3b57585c603b7ace (diff) | |
download | meson-124b5cc3929f7ae520cdc29e58f60fd0ade65a5b.zip meson-124b5cc3929f7ae520cdc29e58f60fd0ade65a5b.tar.gz meson-124b5cc3929f7ae520cdc29e58f60fd0ade65a5b.tar.bz2 |
Fix find_program test on Windows using terrible hack.
-rwxr-xr-x | backends.py | 2 | ||||
-rw-r--r-- | test cases/common/31 find program/meson.build | 26 |
2 files changed, 19 insertions, 9 deletions
diff --git a/backends.py b/backends.py index c92201a..d0e0367 100755 --- a/backends.py +++ b/backends.py @@ -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) diff --git a/test cases/common/31 find program/meson.build b/test cases/common/31 find program/meson.build index 61913e9..f466d95 100644 --- a/test cases/common/31 find program/meson.build +++ b/test cases/common/31 find program/meson.build @@ -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 |