aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-04-12 19:48:46 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2013-04-12 19:48:46 +0300
commit124b5cc3929f7ae520cdc29e58f60fd0ade65a5b (patch)
tree75ca3a09f678033ba87ca29673db5a58d76d847b
parente6e5566b6f35771ba1c06a3c3b57585c603b7ace (diff)
downloadmeson-124b5cc3929f7ae520cdc29e58f60fd0ade65a5b.zip
meson-124b5cc3929f7ae520cdc29e58f60fd0ade65a5b.tar.gz
meson-124b5cc3929f7ae520cdc29e58f60fd0ade65a5b.tar.bz2
Fix find_program test on Windows using terrible hack.
-rwxr-xr-xbackends.py2
-rw-r--r--test cases/common/31 find program/meson.build26
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