aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/tools/hostosinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/tools/hostosinfo.h')
-rw-r--r--src/lib/corelib/tools/hostosinfo.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/lib/corelib/tools/hostosinfo.h b/src/lib/corelib/tools/hostosinfo.h
index 4bfc3e00a..cbb4f8a45 100644
--- a/src/lib/corelib/tools/hostosinfo.h
+++ b/src/lib/corelib/tools/hostosinfo.h
@@ -98,6 +98,28 @@ public:
return v;
}
+ static QString hostOsBuildVersion() {
+ QString v;
+ if (HostOsInfo::isWindowsHost()) {
+ QSettings settings(QStringLiteral("HKEY_LOCAL_MACHINE\\Software\\"
+ "Microsoft\\Windows NT\\CurrentVersion"),
+ QSettings::NativeFormat);
+ v = settings.value(QStringLiteral("CurrentBuildNumber")).toString();
+ } else if (HostOsInfo::isMacosHost()) {
+ QSettings serverSettings(QStringLiteral(
+ "/System/Library/CoreServices/ServerVersion.plist"),
+ QSettings::NativeFormat);
+ v = serverSettings.value(QStringLiteral("ProductBuildVersion")).toString();
+ if (v.isNull()) {
+ QSettings systemSettings(QStringLiteral(
+ "/System/Library/CoreServices/SystemVersion.plist"),
+ QSettings::NativeFormat);
+ v = systemSettings.value(QStringLiteral("ProductBuildVersion")).toString();
+ }
+ }
+ return v;
+ }
+
static bool isWindowsHost() { return hostOs() == HostOsWindows; }
static bool isLinuxHost() { return hostOs() == HostOsLinux; }
static bool isMacosHost() { return hostOs() == HostOsMacos; }