interpreter: Prevent top-level subdirectories from using 'meson-' prefix

These are reserved for internal usages like 'meson-private' or
'meson-logs'.
pull/1835/head
Guillaume Poirier-Morency 8 years ago committed by Jussi Pakkanen
parent a195b78c8d
commit 93a1cff174
  1. 2
      mesonbuild/interpreter.py
  2. 0
      test cases/failing/51 reserved meson prefix/meson-foo/meson.build
  3. 3
      test cases/failing/51 reserved meson prefix/meson.build

@ -2227,6 +2227,8 @@ class Interpreter(InterpreterBase):
raise InvalidArguments('Subdir contains ..')
if self.subdir == '' and args[0] == self.subproject_dir:
raise InvalidArguments('Must not go into subprojects dir with subdir(), use subproject() instead.')
if self.subdir == '' and args[0].startswith('meson-'):
raise InvalidArguments('The "meson-" prefix is reserved and cannot be used for top-level subdir().')
prev_subdir = self.subdir
subdir = os.path.join(prev_subdir, args[0])
if os.path.isabs(subdir):

@ -0,0 +1,3 @@
project('test')
subdir('meson-foo')
Loading…
Cancel
Save