diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-05-19 21:01:06 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-05-26 23:27:49 +0300 |
commit | 7882549f860730dda43fcc825b5beb75b0209410 (patch) | |
tree | c43e62a87e4679b6772b4c3b7fe075a7e374aaed /mesonbuild/interpreter.py | |
parent | 8d2fbf80841a6b2136ea168fd3b6855a08f86a60 (diff) | |
download | meson-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.py | 9 |
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) |