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: # Use unversioned SDK path on Big Sur to avoid issues such as:
# https://github.com/Homebrew/homebrew-core/issues/67075 # https://github.com/Homebrew/homebrew-core/issues/67075
if OS::Mac.version >= :big_sur sdk_path = File.join(sdk_prefix, "MacOSX.sdk")
sdk_path = File.join(sdk_prefix, "MacOSX.sdk") if OS::Mac.version >= :big_sur && File.directory?(sdk_path)
version = OS::Mac.full_version sdk_settings = File.join(sdk_path, "SDKSettings.json")
paths[version] = sdk_path if File.directory?(sdk_path) 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 end
paths paths