Recognize Intel compiler and return version string.
--HG-- branch : develop
This commit is contained in:
parent
4a0e2dee00
commit
84f1c4e10f
|
@ -41,7 +41,36 @@ extern const QString APP_VERSION_STR(QStringLiteral("%1.%2.%3.%4b").arg(MAJOR_VE
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QString compilerString()
|
QString compilerString()
|
||||||
{
|
{
|
||||||
#if defined(Q_CC_CLANG) // must be before GNU, because clang claims to be GNU too
|
#if defined(Q_CC_INTEL) // must be before GNU, Clang and MSVC because ICC/ICL claim to be them
|
||||||
|
QString iccCompact;
|
||||||
|
#ifdef __INTEL_CLANG_COMPILER
|
||||||
|
iccCompact = QLatin1Literal("Clang");
|
||||||
|
#elif defined(__INTEL_MS_COMPAT_LEVEL)
|
||||||
|
iccCompact = QLatin1Literal("Microsoft");
|
||||||
|
#elif defined(__GNUC__)
|
||||||
|
iccCompact = QLatin1Literal("GCC");
|
||||||
|
#else
|
||||||
|
iccCompact = QLatin1Literal("no");
|
||||||
|
#endif
|
||||||
|
QString iccVersion;
|
||||||
|
if (__INTEL_COMPILER >= 1300)
|
||||||
|
{
|
||||||
|
iccVersion = QString::number(__INTEL_COMPILER/100);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iccVersion = QLatin1String(__INTEL_COMPILER);
|
||||||
|
}
|
||||||
|
#ifdef __INTEL_COMPILER_UPDATE
|
||||||
|
return QLatin1String("Intel(R) C++ ") + iccVersion + QLatin1String(".") + QLatin1String(__INTEL_COMPILER_UPDATE) +
|
||||||
|
QLatin1String(" build ") + QLatin1String(__INTEL_COMPILER_BUILD_DATE) + QLatin1String(" [") +
|
||||||
|
QLatin1String(iccCompact) + QLatin1String(" compatibility]");
|
||||||
|
#else
|
||||||
|
return QLatin1String("Intel(R) C++ ") + iccVersion + QLatin1String(" build ") +
|
||||||
|
QLatin1String(__INTEL_COMPILER_BUILD_DATE) + QLatin1String(" [") + iccCompact +
|
||||||
|
QLatin1String(" compatibility]");
|
||||||
|
#endif
|
||||||
|
#elif defined(Q_CC_CLANG) // must be before GNU, because clang claims to be GNU too
|
||||||
QString isAppleString;
|
QString isAppleString;
|
||||||
#if defined(__apple_build_version__) // Apple clang has other version numbers
|
#if defined(__apple_build_version__) // Apple clang has other version numbers
|
||||||
isAppleString = QLatin1String(" (Apple)");
|
isAppleString = QLatin1String(" (Apple)");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user