Increase macOS system requirements to macOS 10.15 #1830
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the result of an unfortunate situation where two primary dependencies, MoltenVK and librashader, both require macOS 10.15 at runtime.
In librashader's case, we cannot reasonably target 10.13 due to its glslang dependency, which requires macOS 10.15 at runtime. We could build a highly out-of-date librashader version without glslang, but in doing so we would forfeit various desirable fixes and improvements to librashader.
In MoltenVK's case, the last version with advertised 10.13 support is 1.2.9. In theory, this version should be acceptable for us, since MoltenVK updates rarely directly impact paraLLEl-RDP. However, version 1.2.9 seems to also have a hidden macOS 10.15 requirement due to its own glslang dependency; it is unclear if 1.2.9 actually functions on macOS 10.13 or macOS 10.14. The earliest version that seems to not have any components built against macOS 10.15 is 1.2.6, which is bordering on prohibitively old, and also requires building on both an older version of macOS (13.0) and an older version of Python with the now-defunct
distutils
package (<3.12).The ares application itself without dependencies can still be built to target much older versions of macOS (10.13 with a modern toolchain, or macOS 10.10 on an older toolchain), but due to the impact of these dependencies, and the questionable value in shipping an alternate, Intel-only version of ares without dependencies, it has been deemed more appropriate to increment the overall system requirements, at least for official builds.
In builds from source, if
CMAKE_OSX_DEPLOYMENT_TARGET
is set below the runtime version requirement of our weakly linked dependencies, those weakly linked dependencies will now no longer be included in the app bundle. This enables users wanting to build from source targeting earlier versions of macOS on their own machines to produce working builds more easily.This PR also fixes some trivial deprecation warnings introduced with a minimum deployment target of 10.15; none of these fixes directly impact system requirements.