aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Alexeyev <akari@taisei-project.org>2024-10-06 13:30:32 +0200
committerDylan Baker <dylan@pnwbakers.com>2025-04-04 09:31:48 -0700
commit31db63e2d8a5d2c3a3db533e86d3676b18bca84b (patch)
tree15c0bd0c540e5fbcb9659b4a486f9befe5c1acc5
parenta7ea0cd7e4bc0d89d607d5fc0e999a4a6ab5b531 (diff)
downloadmeson-31db63e2d8a5d2c3a3db533e86d3676b18bca84b.zip
meson-31db63e2d8a5d2c3a3db533e86d3676b18bca84b.tar.gz
meson-31db63e2d8a5d2c3a3db533e86d3676b18bca84b.tar.bz2
cmake: pass clib_compiler to resolve_cmake_trace_targets()
This is required to resolve ambiguous LINK_LIBRARIES passed as bare names.
-rw-r--r--mesonbuild/cmake/interpreter.py8
1 files changed, 7 insertions, 1 deletions
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