From 31db63e2d8a5d2c3a3db533e86d3676b18bca84b Mon Sep 17 00:00:00 2001 From: Andrei Alexeyev Date: Sun, 6 Oct 2024 13:30:32 +0200 Subject: cmake: pass clib_compiler to resolve_cmake_trace_targets() This is required to resolve ambiguous LINK_LIBRARIES passed as bare names. --- mesonbuild/cmake/interpreter.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'mesonbuild/cmake/interpreter.py') diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py index 53f4f19..6fcebb5 100644 --- a/mesonbuild/cmake/interpreter.py +++ b/mesonbuild/cmake/interpreter.py @@ -251,6 +251,8 @@ class ConverterTarget: self.generated_raw: T.List[Path] = [] + self.clib_compiler = None + for i in target.files: languages: T.Set[str] = set() src_suffixes: T.Set[str] = set() @@ -276,6 +278,10 @@ class ConverterTarget: # Register the new languages and initialize the compile opts array for lang in languages: self.languages.add(lang) + + if self.clib_compiler is None: + self.clib_compiler = self.env.coredata.compilers[self.for_machine].get(lang) + if lang not in self.compile_opts: self.compile_opts[lang] = [] @@ -346,7 +352,7 @@ class ConverterTarget: if tgt: self.depends_raw = trace.targets[self.cmake_name].depends - rtgt = resolve_cmake_trace_targets(self.cmake_name, trace, self.env) + rtgt = resolve_cmake_trace_targets(self.cmake_name, trace, self.env, clib_compiler=self.clib_compiler) self.includes += [Path(x) for x in rtgt.include_directories] self.link_flags += rtgt.link_flags self.public_link_flags += rtgt.public_link_flags -- cgit v1.1