diff options
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 |