MACHO_COMPATIBILITY_VERSION

在 3.17 版本加入.

Mach-O 二进制文件的这个目标是什么兼容版本号。

对于 Mach-O 系统(例如 macOS、iOS)上的共享库,MACHO_COMPATIBILITY_VERSION 属性对应于*兼容版本*,而 MACHO_CURRENT_VERSION 对应于*当前版本*。它们都嵌入在共享库二进制文件中,可以使用“otool -L <binary>”命令进行检查。

应该注意的是:prop_tgt:MACHO_CURRENT_VERSION 和``MACHO_COMPATIBILITY_VERSION`` 属性不会影响 CMake 为库生成的文件名或版本相关的符号链接。 VERSIONSOVERSION 目标属性仍然控制文件和符号链接名称。 install_name 也仍然由 SOVERSION 控制。

MACHO_CURRENT_VERSIONMACHO_COMPATIBILITY_VERSION 未给出时, VERSIONSOVERSION 分别用于要嵌入到二进制文件中的版本详细信息。 MACHO_CURRENT_VERSIONMACHO_COMPATIBILITY_VERSION 属性仅在项目需要将文件和符号链接命名与二进制文件中嵌入的版本详细信息分离时才需要给出(例如匹配 libtool 约定)。