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