6#import <Foundation/Foundation.h>
8#include <QtCore/qfile.h>
9#include <QtCore/qversionnumber.h>
11#if !defined(QT_BOOTSTRAPPED)
12#include <QtCore/qprocess.h>
21 NSOperatingSystemVersion osv = NSProcessInfo.processInfo.operatingSystemVersion;
22 QVersionNumber versionNumber(osv.majorVersion, osv.minorVersion, osv.patchVersion);
24 if (versionNumber.majorVersion() == 10 && versionNumber.minorVersion() >= 16) {
33#if !defined(QT_BOOTSTRAPPED) && QT_CONFIG(process)
36 nonCompatEnvironment.
insert(
"SYSTEM_VERSION_COMPAT"_L1,
"0"_L1);
37 sysctl.setProcessEnvironment(nonCompatEnvironment);
38 sysctl.start(
"/usr/sbin/sysctl"_L1,
QStringList() <<
"-b"_L1 <<
"kern.osproductversion"_L1);
39 if (sysctl.waitForFinished()) {
42 if (!nonCompatSystemVersion.isNull())
43 versionNumber = nonCompatSystemVersion;
50 operatingSystemVersion.m_major = versionNumber.majorVersion();
51 operatingSystemVersion.m_minor = versionNumber.minorVersion();
52 operatingSystemVersion.m_micro = versionNumber.microVersion();
54 return operatingSystemVersion;
static constexpr OSType currentType()
void insert(const QString &name, const QString &value)
Inserts the environment variable of name name and contents value into this QProcessEnvironment object...
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static Q_CORE_EXPORT QVersionNumber fromString(QAnyStringView string, qsizetype *suffixIndex=nullptr)
Combined button and popup list for selecting options.