Spec-Zone.ru › CMake

VERSION

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

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

Обычно задают и 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/VERSION.html

Spec-Zone.ru

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