aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-05-19 21:01:06 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2017-05-26 23:27:49 +0300
commit7882549f860730dda43fcc825b5beb75b0209410 (patch)
treec43e62a87e4679b6772b4c3b7fe075a7e374aaed /mesonbuild/interpreter.py
parent8d2fbf80841a6b2136ea168fd3b6855a08f86a60 (diff)
downloadmeson-7882549f860730dda43fcc825b5beb75b0209410.zip
meson-7882549f860730dda43fcc825b5beb75b0209410.tar.gz
meson-7882549f860730dda43fcc825b5beb75b0209410.tar.bz2
Target file name must not contain a path separator as that breaks things.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 948a6d4..63725ab 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2593,7 +2593,14 @@ different subdirectory.
else:
mlog.debug('Unknown target type:', str(targetholder))
raise RuntimeError('Unreachable code')
- target = targetclass(name, self.subdir, self.subproject, is_cross, sources, objs, self.environment, kwargs)
+ # Fix failing test 53 when removing this.
+ if '/' in name or '\\' in name:
+ mlog.warning('Target name must not contain a path separator. This will become a hard error in a future release.')
+ subpart, name = os.path.split(name)
+ subdir = os.path.join(self.subdir, subpart)
+ else:
+ subdir = self.subdir
+ target = targetclass(name, subdir, self.subproject, is_cross, sources, objs, self.environment, kwargs)
if is_cross:
self.add_cross_stdlib_info(target)
l = targetholder(target, self)