aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/build.py3
-rw-r--r--test cases/failing/93 pch source different folder/include/pch.h0
-rw-r--r--test cases/failing/93 pch source different folder/meson.build5
-rw-r--r--test cases/failing/93 pch source different folder/prog.c1
-rw-r--r--test cases/failing/93 pch source different folder/src/pch.c0
5 files changed, 9 insertions, 0 deletions
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
index d20b576..7909613 100644
--- a/mesonbuild/build.py
+++ b/mesonbuild/build.py
@@ -1089,6 +1089,9 @@ You probably should put it in link_with instead.''')
pchlist = [pchlist[1], pchlist[0]]
else:
raise InvalidArguments('PCH argument %s is of unknown type.' % pchlist[0])
+
+ if (os.path.dirname(pchlist[0]) != os.path.dirname(pchlist[1])):
+ raise InvalidArguments('PCH files must be stored in the same folder.')
elif len(pchlist) > 2:
raise InvalidArguments('PCH definition may have a maximum of 2 files.')
for f in pchlist:
diff --git a/test cases/failing/93 pch source different folder/include/pch.h b/test cases/failing/93 pch source different folder/include/pch.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/failing/93 pch source different folder/include/pch.h
diff --git a/test cases/failing/93 pch source different folder/meson.build b/test cases/failing/93 pch source different folder/meson.build
new file mode 100644
index 0000000..d320717
--- /dev/null
+++ b/test cases/failing/93 pch source different folder/meson.build
@@ -0,0 +1,5 @@
+project('pch', 'c')
+# It is not allowed to have the PCH implementation in a different
+# folder than the header.
+exe = executable('prog', 'prog.c',
+ c_pch : ['include/pch.h', 'src/pch.c'])
diff --git a/test cases/failing/93 pch source different folder/prog.c b/test cases/failing/93 pch source different folder/prog.c
new file mode 100644
index 0000000..c272dab
--- /dev/null
+++ b/test cases/failing/93 pch source different folder/prog.c
@@ -0,0 +1 @@
+int main() {} \ No newline at end of file
diff --git a/test cases/failing/93 pch source different folder/src/pch.c b/test cases/failing/93 pch source different folder/src/pch.c
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test cases/failing/93 pch source different folder/src/pch.c