os/mac/sdk: parse version from SDKSettings.json

This implements feedback from https://github.com/Homebrew/brew/pull/10072.
This commit is contained in:
carlocab 2020-12-23 11:14:30 +00:00
parent 7d46fb8f79
commit c77c942291
No known key found for this signature in database
GPG Key ID: C74D447FC549A1D0

View File

@ -93,10 +93,11 @@ module OS
# Use unversioned SDK path on Big Sur to avoid issues such as:
# https://github.com/Homebrew/homebrew-core/issues/67075
if OS::Mac.version >= :big_sur
sdk_path = File.join(sdk_prefix, "MacOSX.sdk")
version = OS::Mac.full_version
paths[version] = sdk_path if File.directory?(sdk_path)
sdk_path = File.join(sdk_prefix, "MacOSX.sdk")
if OS::Mac.version >= :big_sur && File.directory?(sdk_path)
sdk_settings = File.join(sdk_path, "SDKSettings.json")
version = JSON.parse(File.read(sdk_settings))["Version"] if File.exist?(sdk_settings)
paths[OS::Mac::Version.new(version)] = sdk_path if version.present?
end
paths