From 81ae6464adfa919f9681b30c24086d0724823ff6 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Mon, 25 Dec 2017 13:04:30 +0100 Subject: [PATCH] Ref T199, platform string from build config --- src/blackconfig/buildconfig.cpp | 20 ++++++++++++++++++-- src/blackconfig/buildconfig.h | 3 +++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/blackconfig/buildconfig.cpp b/src/blackconfig/buildconfig.cpp index 814f8c9d0..322111e04 100644 --- a/src/blackconfig/buildconfig.cpp +++ b/src/blackconfig/buildconfig.cpp @@ -72,7 +72,7 @@ namespace BlackConfig { #ifdef Q_OS_WIN // QSysInfo::WindowsVersion only available on Win platforms - if (!isRunningOnWindowsNtPlatform()) { return false; } + if (!CBuildConfig::isRunningOnWindowsNtPlatform()) { return false; } return (QSysInfo::WindowsVersion == QSysInfo::WV_10_0); #else return false; @@ -99,7 +99,23 @@ namespace BlackConfig bool CBuildConfig::isRunningOnUnixPlatform() { - return isRunningOnMacOSPlatform() || isRunningOnLinuxPlatform(); + return CBuildConfig::isRunningOnMacOSPlatform() || CBuildConfig::isRunningOnLinuxPlatform(); + } + + const QString &CBuildConfig::getPlatformString() + { + static const QString p([] + { + if (CBuildConfig::isRunningOnLinuxPlatform()) return QString("Linux"); + if (CBuildConfig::isRunningOnMacOSPlatform()) return QString("MacOS"); + if (CBuildConfig::isRunningOnWindowsNtPlatform()) + { + if (CBuildConfig::buildWordSize() == 32) return QString("Win32"); + if (CBuildConfig::buildWordSize() == 64) return QString("Win64"); + }; + return QString("unknown"); + }()); + return p; } bool CBuildConfig::isDebugBuild() diff --git a/src/blackconfig/buildconfig.h b/src/blackconfig/buildconfig.h index 966d9bf78..6c9409c64 100644 --- a/src/blackconfig/buildconfig.h +++ b/src/blackconfig/buildconfig.h @@ -83,6 +83,9 @@ namespace BlackConfig //! Running on Unix (Linux or Mac OS X) platform static bool isRunningOnUnixPlatform(); + //! Info such as Win32, Win64, MacOs, Linux + static const QString &getPlatformString(); + //! Info string about compilation static const QString &compiledWithInfo(bool shortVersion = true);