aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interpreter.py4
-rw-r--r--test cases/failing/8 recursive/meson.build3
-rw-r--r--test cases/failing/8 recursive/subprojects/a/meson.build3
-rw-r--r--test cases/failing/8 recursive/subprojects/b/meson.build3
4 files changed, 11 insertions, 2 deletions
diff --git a/interpreter.py b/interpreter.py
index 51b1ebc..88f4b74 100644
--- a/interpreter.py
+++ b/interpreter.py
@@ -797,7 +797,7 @@ class Interpreter():
if self.subdir != '':
raise InterpreterException('Subprojects must be defined at the root directory.')
if dirname in self.subproject_stack:
- fullstack = self.subdir_stack + [dirname]
+ fullstack = self.subproject_stack + [dirname]
incpath = ' => '.join(fullstack)
raise InterpreterException('Recursive include of subprojects: %s.' % incpath)
if dirname == self.subprojects:
@@ -809,7 +809,7 @@ class Interpreter():
self.global_flags_frozen = True
mlog.log('\nExecuting subproject ', mlog.bold(dirname), '.\n', sep='')
subi = Interpreter(self.build, subdir)
- subi.subproject_stack = self.subproject_stack + [subdir]
+ subi.subproject_stack = self.subproject_stack + [dirname]
subi.run()
mlog.log('\nSubproject', mlog.bold(dirname), 'finished.')
self.build.subprojects[dirname] = True
diff --git a/test cases/failing/8 recursive/meson.build b/test cases/failing/8 recursive/meson.build
new file mode 100644
index 0000000..f315294
--- /dev/null
+++ b/test cases/failing/8 recursive/meson.build
@@ -0,0 +1,3 @@
+project('recursive', 'c')
+
+a = subproject('a')
diff --git a/test cases/failing/8 recursive/subprojects/a/meson.build b/test cases/failing/8 recursive/subprojects/a/meson.build
new file mode 100644
index 0000000..7c6040b
--- /dev/null
+++ b/test cases/failing/8 recursive/subprojects/a/meson.build
@@ -0,0 +1,3 @@
+project('a', 'c')
+
+b = subproject('b')
diff --git a/test cases/failing/8 recursive/subprojects/b/meson.build b/test cases/failing/8 recursive/subprojects/b/meson.build
new file mode 100644
index 0000000..d0beeb7
--- /dev/null
+++ b/test cases/failing/8 recursive/subprojects/b/meson.build
@@ -0,0 +1,3 @@
+project('b', 'c')
+
+a = subproject('a')