diff options
author | Katja Marttila <katja.marttila@qt.io> | 2023-11-14 13:14:03 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2023-11-22 10:22:41 +0200 |
commit | a771d88f321ecf2d3f2d97aaf0e3b4fc45e55f0a (patch) | |
tree | 8c9b1924fd670548ded65abc3f511efa1ae0cd27 | |
parent | e14e9f072fb1d269c6be22ef98678ec589aeda0c (diff) |
Add buildCpuArchitecture() to systemInfo
To access buildCpuArchitecture from script
Task-number: QTIFW-3224
Change-Id: I02086f7d3e064fe53d6fa9322b8832110c40c6b1
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
-rw-r--r-- | doc/systeminfo.qdoc | 21 | ||||
-rw-r--r-- | src/libs/installer/systeminfo.cpp | 28 | ||||
-rw-r--r-- | src/libs/installer/systeminfo.h | 5 | ||||
-rw-r--r-- | tests/auto/installer/scriptengine/tst_scriptengine.cpp | 2 |
4 files changed, 51 insertions, 5 deletions
diff --git a/doc/systeminfo.qdoc b/doc/systeminfo.qdoc index 1f260abdb..fd32b06b8 100644 --- a/doc/systeminfo.qdoc +++ b/doc/systeminfo.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2022 The Qt Company Ltd. +** Copyright (C) 2023 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -52,6 +52,25 @@ */ /*! + \qmlproperty string systemInfo::buildCpuArchitecture + + The architecture of the CPU that the application was compiled for, in text format. + + Possible values include: + \list + \li "i386" + \li "x86_64" + \li "arm64" + \endlist + + Note that this may not match the actual CPU that the application is running on if + there's an emulation layer or if the CPU supports multiple architectures (like x86-64 + processors supporting i386 applications). To detect that, use \c installer.currentCpuArchitecture() + + \sa QSysInfo::buildCpuArchitecture() \sa currentCpuArchitecture() +*/ + +/*! \qmlproperty string systemInfo::kernelType The type of the operating system kernel the installer was compiled for. It is also the diff --git a/src/libs/installer/systeminfo.cpp b/src/libs/installer/systeminfo.cpp index 6a1976c4a..0b9b00500 100644 --- a/src/libs/installer/systeminfo.cpp +++ b/src/libs/installer/systeminfo.cpp @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2023 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -55,6 +55,7 @@ SystemInfo::SystemInfo(QObject *parent) : QObject(parent) \list \li "i386" \li "x86_64" + \li "arm64" \endlist \note This function depends on what the OS will report and may not detect the actual CPU @@ -62,7 +63,7 @@ SystemInfo::SystemInfo(QObject *parent) : QObject(parent) OS running on a 64-bit CPU is usually unable to determine whether the CPU is actually capable of running 64-bit programs. - \sa QSysInfo::currentCpuArchitecture() + \sa QSysInfo::currentCpuArchitecture() \sa buildCpuArchitecture() */ QString SystemInfo::currentCpuArchitecture() const { @@ -70,6 +71,29 @@ QString SystemInfo::currentCpuArchitecture() const } /*! + \property SystemInfo::buildCpuArchitecture + + The architecture of the CPU that the application was compiled for, in text format. + + Possible values include: + \list + \li "i386" + \li "x86_64" + \li "arm64" + \endlist + + \note Note that this may not match the actual CPU that the application is running on if + there's an emulation layer or if the CPU supports multiple architectures (like x86-64 + processors supporting i386 applications). To detect that, use \c installer.currentCpuArchitecture() + + \sa QSysInfo::buildCpuArchitecture() \sa currentCpuArchitecture() +*/ +QString SystemInfo::buildCpuArchitecture() const +{ + return QSysInfo::buildCpuArchitecture(); +} + +/*! \property SystemInfo::kernelType The type of the operating system kernel the installer was compiled for. It is also the diff --git a/src/libs/installer/systeminfo.h b/src/libs/installer/systeminfo.h index c5451605e..a1393397a 100644 --- a/src/libs/installer/systeminfo.h +++ b/src/libs/installer/systeminfo.h @@ -1,6 +1,6 @@ /************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2023 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. @@ -39,6 +39,7 @@ class SystemInfo : public QObject Q_DISABLE_COPY(SystemInfo) Q_PROPERTY(QString currentCpuArchitecture READ currentCpuArchitecture CONSTANT) + Q_PROPERTY(QString buildCpuArchitecture READ buildCpuArchitecture CONSTANT) Q_PROPERTY(QString kernelType READ kernelType CONSTANT) Q_PROPERTY(QString kernelVersion READ kernelVersion CONSTANT) Q_PROPERTY(QString productType READ productType CONSTANT) @@ -49,7 +50,7 @@ public: explicit SystemInfo(QObject *parent = 0); QString currentCpuArchitecture() const; - + QString buildCpuArchitecture() const; QString kernelType() const; QString kernelVersion() const; QString productType() const; diff --git a/tests/auto/installer/scriptengine/tst_scriptengine.cpp b/tests/auto/installer/scriptengine/tst_scriptengine.cpp index 9afa4103e..86017a229 100644 --- a/tests/auto/installer/scriptengine/tst_scriptengine.cpp +++ b/tests/auto/installer/scriptengine/tst_scriptengine.cpp @@ -242,6 +242,8 @@ private slots: QJSValue sinfo = global.property(QLatin1String("systemInfo")); QCOMPARE(sinfo.property(QLatin1String("currentCpuArchitecture")).toString(), QSysInfo::currentCpuArchitecture()); + QCOMPARE(sinfo.property(QLatin1String("buildCpuArchitecture")).toString(), + QSysInfo::buildCpuArchitecture()); QCOMPARE(sinfo.property(QLatin1String("kernelType")).toString(), QSysInfo::kernelType()); QCOMPARE(sinfo.property(QLatin1String("kernelVersion")).toString(), QSysInfo::kernelVersion()); |