MACHO_COMPATIBILITY_VERSION
Какой номер версии совместимости требуется для бинарных файлов Mach-O?
Для динамических библиотек на системах Mach-O (например, macOS, iOS) свойство MACHO_COMPATIBILITY_VERSION соответствует версии совместимости, а MACHO_CURRENT_VERSION — текущей версии. Оба значения встроены в бинарный файл динамической библиотеки и могут быть проверены с помощью команды otool -L <binary>.
Следует отметить, что свойства MACHO_CURRENT_VERSION и MACHO_COMPATIBILITY_VERSION не влияют на имена файлов или символические ссылки, связанные с версиями, которые генерирует CMake для библиотеки. Свойства VERSION и SOVERSION по-прежнему контролируют имена файлов и символических ссылок. Свойство install_name также по-прежнему контролируется SOVERSION.
Когда MACHO_CURRENT_VERSION и MACHO_COMPATIBILITY_VERSION не заданы, свойства VERSION и SOVERSION соответственно используются для встраивания сведений о версии в бинарные файлы. Свойства MACHO_CURRENT_VERSION и MACHO_COMPATIBILITY_VERSION нужно задавать только в том случае, если проекту необходимо отделить именование файлов и символических ссылок от сведений о версии, встраиваемых в бинарные файлы (например, для соответствия соглашениям libtool).
© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.17/prop_tgt/MACHO_COMPATIBILITY_VERSION.html