File indexing completed on 2024-12-15 03:45:03

0001 /*
0002     SPDX-FileCopyrightText: 2017 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: MIT
0005 */
0006 
0007 #include "compilerinfosource.h"
0008 
0009 #include <QVariant>
0010 
0011 using namespace KUserFeedback;
0012 
0013 CompilerInfoSource::CompilerInfoSource()
0014     : AbstractDataSource(QStringLiteral("compiler"), Provider::BasicSystemInformation)
0015 {
0016 }
0017 
0018 QString CompilerInfoSource::description() const
0019 {
0020     return tr("The compiler used to build this application.");
0021 }
0022 
0023 #define STRINGIFY(x) #x
0024 #define INT2STR(x) STRINGIFY(x)
0025 
0026 QVariant CompilerInfoSource::data()
0027 {
0028     QVariantMap m;
0029 
0030 #ifdef Q_CC_GNU
0031     m.insert(QStringLiteral("type"), QStringLiteral("GCC"));
0032     m.insert(QStringLiteral("version"), QString::fromLatin1( "" INT2STR(__GNUC__) "." INT2STR(__GNUC_MINOR__)));
0033 #endif
0034 
0035 #ifdef Q_CC_CLANG
0036     m.insert(QStringLiteral("type"), QStringLiteral("Clang"));
0037     m.insert(QStringLiteral("version"), QString::fromLatin1( "" INT2STR(__clang_major__) "." INT2STR(__clang_minor__)));
0038 #endif
0039 
0040 #ifdef Q_CC_MSVC
0041     m.insert(QStringLiteral("type"), QStringLiteral("MSVC"));
0042     m.insert(QStringLiteral("version"), QString::fromLatin1( "" INT2STR(_MSC_VER)));
0043 #endif
0044 
0045     if (m.isEmpty())
0046         m.insert(QStringLiteral("type"), QStringLiteral("unknown"));
0047 
0048     return m;
0049 }
0050 
0051 QString CompilerInfoSource::name() const
0052 {
0053     return tr("Compiler information");
0054 }
0055 
0056 #undef STRINGIFY
0057 #undef INT2STR