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);