MACHO_CURRENT_VERSION

於 3.17 版本新增。

此目標適用於 Mach-O 二進制檔的目前版本號碼。

對於 Mach-O 系統(例如 macOS、iOS)上的共享函式庫,MACHO_COMPATIBILITY_VERSION 屬性對應於相容性版本,而 MACHO_CURRENT_VERSION 則對應於目前版本。這兩者都嵌入在共享函式庫二進制檔中,可以使用 otool -L <binary> 命令進行檢查。

應該注意的是,MACHO_CURRENT_VERSIONMACHO_COMPATIBILITY_VERSION 屬性不會影響 CMake 為函式庫產生的檔名或與版本相關的符號連結。VERSIONSOVERSION 目標屬性仍然控制檔案和符號連結名稱。install_name 也仍然由 SOVERSION 控制。

當未給定 MACHO_CURRENT_VERSIONMACHO_COMPATIBILITY_VERSION 時,則會分別使用 VERSIONSOVERSION 作為要嵌入在二進制檔中的版本詳細資訊。只有當專案需要將檔案和符號連結命名與嵌入在二進制檔中的版本詳細資訊分離時(例如,為了符合 libtool 慣例),才需要給定 MACHO_CURRENT_VERSIONMACHO_COMPATIBILITY_VERSION 屬性。