Spec-Zone.ru › CMake 3.29

SOVERSION

Номер версии ABI целевого разделяемого библиотеки.

Для разделяемых библиотек VERSION и SOVERSION могут быть использованы для указания версии сборки и версии ABI соответственно. При построении или установке создаются соответствующие символические ссылки, если платформа поддерживает символические ссылки, а компоновщик поддерживает имена вида «so-name». Если указан только один из них, пропущенное значение предполагается равным соответствующему номеру версии. 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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.29/prop_tgt/SOVERSION.html

Spec-Zone.ru

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