Spec-Zone.ru › CMake

SOVERSION

Номер версии ABI целевой общей библиотеки.

Для общих библиотек VERSION и SOVERSION можно использовать для задания версии сборки и версии ABI соответственно. При сборке или установке создаются соответствующие символические ссылки, если платформа поддерживает символические ссылки, а компоновщик — soname. Если задано только одно из этих значений, для отсутствующего предполагается тот же номер версии. SOVERSION игнорируется, если задано свойство NO_SONAME.

Распространено указывать и VERSION, и SOVERSION так, чтобы SOVERSION совпадал с первым компонентом VERSION:

set_target_properties(mylib PROPERTIES VERSION 1.2.3 SOVERSION 1)

Идея заключается в том, что изменения, нарушающие совместимость ABI, увеличивают и SOVERSION, и номер мажорной версии VERSION.

Версии Windows

Для общих библиотек и исполняемых файлов в Windows атрибут VERSION анализируется для извлечения номера версии <major>.<minor>. Эти числа используются как версия образа двоичного файла.

Версии Mach-O

Для общих библиотек и исполняемых файлов в системах Mach-O (например, macOS, iOS) свойство SOVERSION соответствует версии совместимости, а VERSION соответствует текущей версии (если не заданы переопределения для Mach-O, описанные ниже). Пример см. в свойстве целевого объекта FRAMEWORK.

Для общих библиотек свойства MACHO_COMPATIBILITY_VERSION и MACHO_CURRENT_VERSION можно использовать для переопределения версии совместимости и текущей версии соответственно. Обратите внимание, что SOVERSION по-прежнему будет использоваться для формирования install_name, а SOVERSION и VERSION также могут влиять на имена файлов и символических ссылок.

Версии двоичных файлов Mach-O можно проверить с помощью команды otool -L <binary>.

© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/prop_tgt/SOVERSION.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API