diff options
Diffstat (limited to 'TOOLS/macos-sdk-version.py')
-rwxr-xr-x | TOOLS/macos-sdk-version.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/TOOLS/macos-sdk-version.py b/TOOLS/macos-sdk-version.py new file mode 100755 index 0000000..12e1071 --- /dev/null +++ b/TOOLS/macos-sdk-version.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 + +# This checks for the sdk path, the sdk version, and +# the sdk build version. + +import re +import os +import string +import subprocess +import sys +from shutil import which +from subprocess import check_output + +def find_macos_sdk(): + sdk = os.environ.get('MACOS_SDK', '') + sdk_version = os.environ.get('MACOS_SDK_VERSION', '0.0') + xcrun = which('xcrun') + xcodebuild = which('xcodebuild') + + if not xcrun: + return sdk,sdk_version + + if not sdk: + sdk = check_output([xcrun, '--sdk', 'macosx', '--show-sdk-path'], + encoding="UTF-8") + + # find macOS SDK paths and version + if sdk_version == '0.0': + sdk_version = check_output([xcrun, '--sdk', 'macosx', '--show-sdk-version'], + encoding="UTF-8") + + # use xcode tools when installed, still necessary for xcode versions <12.0 + try: + sdk_version = check_output([xcodebuild, '-sdk', 'macosx', '-version', 'ProductVersion'], + encoding="UTF-8", stderr=subprocess.DEVNULL) + except: + pass + + if not isinstance(sdk_version, str): + sdk_version = '10.10.0' + + return sdk.strip(),sdk_version.strip() + +if __name__ == "__main__": + sdk_info = find_macos_sdk() + sys.stdout.write(','.join(sdk_info)) |