aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interpreter.py2
-rw-r--r--test cases/common/92 skip subdir/meson.build3
-rw-r--r--test cases/common/92 skip subdir/subdir1/meson.build1
-rw-r--r--test cases/common/92 skip subdir/subdir1/subdir2/meson.build1
4 files changed, 6 insertions, 1 deletions
diff --git a/interpreter.py b/interpreter.py
index 5e8effc..9923892 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -1540,7 +1540,7 @@ class Interpreter():
self.visited_subdirs[subdir] = True
self.subdir = subdir
try:
- os.mkdir(os.path.join(self.environment.build_dir, subdir))
+ os.makedirs(os.path.join(self.environment.build_dir, subdir))
except FileExistsError:
pass
buildfilename = os.path.join(self.subdir, environment.build_filename)
diff --git a/test cases/common/92 skip subdir/meson.build b/test cases/common/92 skip subdir/meson.build
new file mode 100644
index 0000000..30ede0e
--- /dev/null
+++ b/test cases/common/92 skip subdir/meson.build
@@ -0,0 +1,3 @@
+project('foo', 'c')
+
+subdir('subdir1/subdir2')
diff --git a/test cases/common/92 skip subdir/subdir1/meson.build b/test cases/common/92 skip subdir/subdir1/meson.build
new file mode 100644
index 0000000..51cb003
--- /dev/null
+++ b/test cases/common/92 skip subdir/subdir1/meson.build
@@ -0,0 +1 @@
+error('This should not be called.')
diff --git a/test cases/common/92 skip subdir/subdir1/subdir2/meson.build b/test cases/common/92 skip subdir/subdir1/subdir2/meson.build
new file mode 100644
index 0000000..e37cad6
--- /dev/null
+++ b/test cases/common/92 skip subdir/subdir1/subdir2/meson.build
@@ -0,0 +1 @@
+message('I\'m in subdir subdir.')