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)