summaryrefslogtreecommitdiff
path: root/mesonbuild/cmake/interpreter.py
diff options
context:
space:
mode:
authorJulianne Swinoga <jswinoga@kepler.space>2025-06-05 17:47:51 -0400
committerEli Schwartz <eschwartz93@gmail.com>2025-08-26 01:35:18 -0400
commit8992d4fdf5b7a2c2d37d2d61d7a640d8e4c09f2b (patch)
tree4ddf057a96c166a015dda393a9fd64e8c8d134af /mesonbuild/cmake/interpreter.py
parent01884547172ff0182e34f4d7212913459210cf09 (diff)
downloadmeson-8992d4fdf5b7a2c2d37d2d61d7a640d8e4c09f2b.tar.gz
Set version, soversion from cmake if available
Diffstat (limited to 'mesonbuild/cmake/interpreter.py')
-rw-r--r--mesonbuild/cmake/interpreter.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py
index c68cb6019..1019246c5 100644
--- a/mesonbuild/cmake/interpreter.py
+++ b/mesonbuild/cmake/interpreter.py
@@ -243,6 +243,8 @@ class ConverterTarget:
self.compile_opts: T.Dict[str, T.List[str]] = {}
self.public_compile_opts: T.List[str] = []
self.pie = False
+ self.version: T.Optional[str] = None
+ self.soversion: T.Optional[str] = None
# Project default override options (c_std, cpp_std, etc.)
self.override_options: T.List[str] = []
@@ -357,6 +359,8 @@ class ConverterTarget:
tgt = trace.targets.get(self.cmake_name)
if tgt:
self.depends_raw = trace.targets[self.cmake_name].depends
+ self.version = trace.targets[self.cmake_name].properties.get('VERSION', [None])[0]
+ self.soversion = trace.targets[self.cmake_name].properties.get('SOVERSION', [None])[0]
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]
@@ -1172,6 +1176,12 @@ class CMakeInterpreter:
'objects': [method(x, 'extract_all_objects') for x in objec_libs],
}
+ # Only set version if we know it
+ if tgt.version:
+ tgt_kwargs['version'] = tgt.version
+ if tgt.soversion:
+ tgt_kwargs['soversion'] = tgt.soversion
+
# Only set if installed and only override if it is set
if install_tgt and tgt.install_dir:
tgt_kwargs['install_dir'] = tgt.install_dir