makepanda: Require macOS SDK 10.12 or higher

This does not remove support for older macOS versions, they can still be targeted by newer SDKs (10.9 can still be targeted by the macOS 12 SDK)

I would like to require macOS 11 SDK, but we still need 10.13 for FMOD
This commit is contained in:
rdb 2023-08-29 22:38:24 +02:00
parent e6f4128c0b
commit b22b970d10
2 changed files with 6 additions and 10 deletions

View File

@ -2441,7 +2441,7 @@ def SdkLocateMacOSX(archs = []):
sdk_versions = [] sdk_versions = []
if 'arm64' not in archs: if 'arm64' not in archs:
# Prefer pre-10.14 for now so that we can keep building FMOD. # Prefer pre-10.14 for now so that we can keep building FMOD.
sdk_versions += ["10.13", "10.12", "10.11", "10.10", "10.9"] sdk_versions += ["10.13", "10.12"]
sdk_versions += ["14.0", "13.3", "13.1", "13.0", "12.3", "11.3", "11.1", "11.0"] sdk_versions += ["14.0", "13.3", "13.1", "13.0", "12.3", "11.3", "11.1", "11.0"]

View File

@ -963,8 +963,8 @@ find_display_modes(int width, int height) {
// handled. CGDisplayCopyAllDisplayModes() does not return upscaled display // handled. CGDisplayCopyAllDisplayModes() does not return upscaled display
// mode unless explicitly asked with kCGDisplayShowDuplicateLowResolutionModes // mode unless explicitly asked with kCGDisplayShowDuplicateLowResolutionModes
// (which is undocumented...). // (which is undocumented...).
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 bool macos_10_15_or_higher = false;
if (floor(NSAppKitVersionNumber) > NSAppKitVersionNumber10_14) { if (@available(macOS 10.15, *)) {
const CFStringRef dictkeys[] = {kCGDisplayShowDuplicateLowResolutionModes}; const CFStringRef dictkeys[] = {kCGDisplayShowDuplicateLowResolutionModes};
const CFBooleanRef dictvalues[] = {kCFBooleanTrue}; const CFBooleanRef dictvalues[] = {kCFBooleanTrue};
options = CFDictionaryCreate(NULL, options = CFDictionaryCreate(NULL,
@ -973,8 +973,8 @@ find_display_modes(int width, int height) {
1, 1,
&kCFCopyStringDictionaryKeyCallBacks, &kCFCopyStringDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks); &kCFTypeDictionaryValueCallBacks);
macos_10_15_or_higher = true;
} }
#endif
CFMutableArrayRef valid_modes; CFMutableArrayRef valid_modes;
valid_modes = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks); valid_modes = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
@ -994,7 +994,7 @@ find_display_modes(int width, int height) {
// First check if the current mode is adequate. // First check if the current mode is adequate.
// This test not done for macOS 10.15 and above as the mode resolution is // This test not done for macOS 10.15 and above as the mode resolution is
// not enough to identify a mode. // not enough to identify a mode.
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_14 && if (!macos_10_15_or_higher &&
CGDisplayModeGetWidth(mode) == width && CGDisplayModeGetWidth(mode) == width &&
CGDisplayModeGetHeight(mode) == height) { CGDisplayModeGetHeight(mode) == height) {
CFArrayAppendValue(valid_modes, mode); CFArrayAppendValue(valid_modes, mode);
@ -1004,12 +1004,10 @@ find_display_modes(int width, int height) {
current_pixel_encoding = CGDisplayModeCopyPixelEncoding(mode); current_pixel_encoding = CGDisplayModeCopyPixelEncoding(mode);
refresh_rate = CGDisplayModeGetRefreshRate(mode); refresh_rate = CGDisplayModeGetRefreshRate(mode);
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1080
// Calculate the pixel width and height of the fullscreen mode we want using // Calculate the pixel width and height of the fullscreen mode we want using
// the currentdisplay mode dimensions and pixel dimensions. // the currentdisplay mode dimensions and pixel dimensions.
size_t expected_pixel_width = (size_t(width) * CGDisplayModeGetPixelWidth(mode)) / CGDisplayModeGetWidth(mode); size_t expected_pixel_width = (size_t(width) * CGDisplayModeGetPixelWidth(mode)) / CGDisplayModeGetWidth(mode);
size_t expected_pixel_height = (size_t(height) * CGDisplayModeGetPixelHeight(mode)) / CGDisplayModeGetHeight(mode); size_t expected_pixel_height = (size_t(height) * CGDisplayModeGetPixelHeight(mode)) / CGDisplayModeGetHeight(mode);
#endif
CGDisplayModeRelease(mode); CGDisplayModeRelease(mode);
for (size_t i = 0; i < num_modes; ++i) { for (size_t i = 0; i < num_modes; ++i) {
@ -1023,11 +1021,9 @@ find_display_modes(int width, int height) {
if (CGDisplayModeGetWidth(mode) == width && if (CGDisplayModeGetWidth(mode) == width &&
CGDisplayModeGetHeight(mode) == height && CGDisplayModeGetHeight(mode) == height &&
(int)(CGDisplayModeGetRefreshRate(mode) + 0.5) == (int)(refresh_rate + 0.5) && (int)(CGDisplayModeGetRefreshRate(mode) + 0.5) == (int)(refresh_rate + 0.5) &&
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 (!macos_10_15_or_higher ||
(floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_14 ||
(CGDisplayModeGetPixelWidth(mode) == expected_pixel_width && (CGDisplayModeGetPixelWidth(mode) == expected_pixel_width &&
CGDisplayModeGetPixelHeight(mode) == expected_pixel_height)) && CGDisplayModeGetPixelHeight(mode) == expected_pixel_height)) &&
#endif
CFStringCompare(pixel_encoding, current_pixel_encoding, 0) == kCFCompareEqualTo) { CFStringCompare(pixel_encoding, current_pixel_encoding, 0) == kCFCompareEqualTo) {
if (CGDisplayModeGetRefreshRate(mode) == refresh_rate) { if (CGDisplayModeGetRefreshRate(mode) == refresh_rate) {