From da7a8bea0b167f7defcb2a0491cfdd9fb7e3d8ba Mon Sep 17 00:00:00 2001 From: RobotLeopard86 <63123751+RobotLeopard86@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:25:13 -0800 Subject: [PATCH] cmake: Fix version kwarg being added to static_library targets --- mesonbuild/cmake/interpreter.py | 11 ++++++----- .../cmake/2 advanced/subprojects/cmMod/CMakeLists.txt | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/mesonbuild/cmake/interpreter.py b/mesonbuild/cmake/interpreter.py index bdaa6d54c2f3..88b0b8f3b7d8 100644 --- a/mesonbuild/cmake/interpreter.py +++ b/mesonbuild/cmake/interpreter.py @@ -1182,11 +1182,12 @@ def process_target(tgt: ConverterTarget) -> None: '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 version if we know it and this is not a static lib + if tgt_func != 'static_library': + 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: diff --git a/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt b/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt index 7dd11e74942f..06dd51a16455 100644 --- a/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt +++ b/test cases/cmake/2 advanced/subprojects/cmMod/CMakeLists.txt @@ -12,6 +12,7 @@ configure_file("config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/config.h" @ONLY) add_library(cmModLib SHARED lib/cmMod.cpp) add_library(cmModLibStatic STATIC lib/cmMod.cpp) +set_target_properties(cmModLibStatic PROPERTIES SOVERSION 1) include(GenerateExportHeader) generate_export_header(cmModLib)