MACHO_COMPATIBILITY_VERSION¶
在版本 3.17 中新增。
此目標適用於 Mach-O 二進制檔的相容性版本號碼。
對於 Mach-O 系統(例如 macOS、iOS)上的共享函式庫,MACHO_COMPATIBILITY_VERSION
屬性對應於相容性版本,而 MACHO_CURRENT_VERSION
對應於目前版本。這兩者都嵌入在共享函式庫二進制檔中,可以使用 otool -L <二進制檔>
命令進行檢查。
應該注意的是,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 慣例)。