diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2023-01-26 16:35:59 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2023-02-07 23:13:55 +0000 |
commit | bac93ce5eba10ae1e5d165b464a7a9e3b4dd6561 (patch) | |
tree | 5a13668637c3a1dd5043a200634dad39a3c166c2 /tests/auto/printsupport/dialogs/qabstractprintdialog | |
parent | a3697f2b84e87590a451664c3fe9328a8e2087bd (diff) |
macOS: Skip deployment target runtime check when detecting compat version
When the main executable is built with a pre-macOS 11 SDK, the macOS
kernel and system libraries will enable a compatibility mode for
reporting the system version, reporting 10.16 instead of 11/12/13 etc.
This happens at at such a low level that even manually reading the
version from /System/Library/CoreServices/SystemVersion.plist is
intercepted.
Working around this by temporarily setting the SYSTEM_VERSION_COMPAT
environment variable is unfortunately not possible, as it's only read
on process creation/initialization.
The same goes for the kern.system_version_compat sysctl, as once it's
set it can not be changed back to its original value, and it's not
clear whether this sysctl should even be touched.
As long as we have no reliable way of reading the actual current
operating system version, we need to bail out of the deployment
target verification, to avoid false negatives where a plugin or
library, built with a deployment target of say 11.0, is loaded
into an application built with a pre-11.0 SDK, but running on
macOS 11+.
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: I9c757a276726175c5dda694ffc1b88f1681d00fb
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Diffstat (limited to 'tests/auto/printsupport/dialogs/qabstractprintdialog')
0 files changed, 0 insertions, 0 deletions