aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/cmake/traceparser.py
diff options
context:
space:
mode:
authorDaniel Mensinger <daniel@mensinger-ka.de>2020-10-20 14:24:48 +0200
committerDaniel Mensinger <daniel@mensinger-ka.de>2020-10-24 19:31:15 +0200
commitfc57089bc509e63f9376858f8038b3efb142418a (patch)
tree95aecb38697dc6ac8ee62654e95ed85ef55a9a53 /mesonbuild/cmake/traceparser.py
parent1eb9d8ad6e30fb5381e720f50dcda9965e19a399 (diff)
downloadmeson-fc57089bc509e63f9376858f8038b3efb142418a.zip
meson-fc57089bc509e63f9376858f8038b3efb142418a.tar.gz
meson-fc57089bc509e63f9376858f8038b3efb142418a.tar.bz2
cmake: Disable the new (CMake 3.16) PCH support
Subprojects that use the CMake PCH feature will cause compilation/linker errors. The CMake PCH support should thus be disabled until this can be properly translated to meson.
Diffstat (limited to 'mesonbuild/cmake/traceparser.py')
-rw-r--r--mesonbuild/cmake/traceparser.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/cmake/traceparser.py b/mesonbuild/cmake/traceparser.py
index 518db4f..c6f2b9d 100644
--- a/mesonbuild/cmake/traceparser.py
+++ b/mesonbuild/cmake/traceparser.py
@@ -123,6 +123,7 @@ class CMakeTraceParser:
# meaning here in the trace parser.
'meson_ps_execute_delayed_calls': self._meson_ps_execute_delayed_calls,
'meson_ps_reload_vars': self._meson_ps_reload_vars,
+ 'meson_ps_disabled_function': self._meson_ps_disabled_function,
} # type: T.Dict[str, T.Callable[[CMakeTraceLine], None]]
def trace_args(self) -> T.List[str]:
@@ -618,6 +619,13 @@ class CMakeTraceParser:
def _meson_ps_reload_vars(self, tline: CMakeTraceLine) -> None:
self.delayed_commands = self.get_cmake_var('MESON_PS_DELAYED_CALLS')
+ def _meson_ps_disabled_function(self, tline: CMakeTraceLine) -> None:
+ args = list(tline.args)
+ if not args:
+ mlog.error('Invalid preload.cmake script! At least one argument to `meson_ps_disabled_function` is expected')
+ return
+ mlog.warning('The CMake function "{}" was disabed to avoid compatibility issues with Meson.'.format(args[0]))
+
def _lex_trace_human(self, trace: str) -> T.Generator[CMakeTraceLine, None, None]:
# The trace format is: '<file>(<line>): <func>(<args -- can contain \n> )\n'
reg_tline = re.compile(r'\s*(.*\.(cmake|txt))\(([0-9]+)\):\s*(\w+)\(([\s\S]*?) ?\)\s*\n', re.MULTILINE)