aboutsummaryrefslogtreecommitdiff
path: root/libraries/systeminfo
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/systeminfo')
-rw-r--r--libraries/systeminfo/CMakeLists.txt15
-rw-r--r--libraries/systeminfo/src/distroutils.cpp27
-rw-r--r--libraries/systeminfo/src/sys_test.cpp1
3 files changed, 29 insertions, 14 deletions
diff --git a/libraries/systeminfo/CMakeLists.txt b/libraries/systeminfo/CMakeLists.txt
index 548a589c..33d24605 100644
--- a/libraries/systeminfo/CMakeLists.txt
+++ b/libraries/systeminfo/CMakeLists.txt
@@ -1,6 +1,11 @@
project(systeminfo)
-find_package(Qt5Core)
+if(QT_VERSION_MAJOR EQUAL 5)
+ find_package(Qt5 COMPONENTS Core REQUIRED)
+elseif(Launcher_QT_VERSION_MAJOR EQUAL 6)
+ find_package(Qt6 COMPONENTS Core Core5Compat REQUIRED)
+ list(APPEND systeminfo_LIBS Qt${QT_VERSION_MAJOR}::Core5Compat)
+endif()
set(systeminfo_SOURCES
include/sys.h
@@ -19,11 +24,7 @@ elseif (UNIX)
endif()
add_library(systeminfo STATIC ${systeminfo_SOURCES})
-target_link_libraries(systeminfo Qt5::Core Qt5::Gui Qt5::Network)
+target_link_libraries(systeminfo Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Network ${systeminfo_LIBS})
target_include_directories(systeminfo PUBLIC include)
-include (UnitTest)
-add_unit_test(sys
- SOURCES src/sys_test.cpp
- LIBS systeminfo
-)
+ecm_add_test(src/sys_test.cpp LINK_LIBRARIES systeminfo Qt${QT_VERSION_MAJOR}::Test TEST_NAME sys)
diff --git a/libraries/systeminfo/src/distroutils.cpp b/libraries/systeminfo/src/distroutils.cpp
index fb9ae25d..05e1bb8c 100644
--- a/libraries/systeminfo/src/distroutils.cpp
+++ b/libraries/systeminfo/src/distroutils.cpp
@@ -36,6 +36,7 @@ SOFTWARE.
#include <QProcess>
#include <QDebug>
#include <QDir>
+#include <QRegularExpression>
#include <functional>
@@ -88,7 +89,9 @@ bool Sys::main_lsb_info(Sys::LsbInfo & out)
{
int status=0;
QProcess lsbProcess;
- lsbProcess.start("lsb_release -a");
+ QStringList arguments;
+ arguments << "-a";
+ lsbProcess.start("lsb_release", arguments);
lsbProcess.waitForFinished();
status = lsbProcess.exitStatus();
QString output = lsbProcess.readAllStandardOutput();
@@ -170,7 +173,11 @@ void Sys::lsb_postprocess(Sys::LsbInfo & lsb, Sys::DistributionInfo & out)
else
{
// ubuntu, debian, gentoo, scientific, slackware, ... ?
- auto parts = dist.split(QRegExp("\\s+"), QString::SkipEmptyParts);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ auto parts = dist.split(QRegularExpression("\\s+"), Qt::SkipEmptyParts);
+#else
+ auto parts = dist.split(QRegularExpression("\\s+"), QString::SkipEmptyParts);
+#endif
if(parts.size())
{
dist = parts[0];
@@ -209,7 +216,11 @@ QString Sys::_extract_distribution(const QString & x)
{
return "sles";
}
- QStringList list = release.split(QRegExp("\\s+"), QString::SkipEmptyParts);
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QStringList list = release.split(QRegularExpression("\\s+"), Qt::SkipEmptyParts);
+#else
+ QStringList list = release.split(QRegularExpression("\\s+"), QString::SkipEmptyParts);
+#endif
if(list.size())
{
return list[0];
@@ -219,12 +230,16 @@ QString Sys::_extract_distribution(const QString & x)
QString Sys::_extract_version(const QString & x)
{
- QRegExp versionish_string("\\d+(?:\\.\\d+)*$");
- QStringList list = x.split(QRegExp("\\s+"), QString::SkipEmptyParts);
+ QRegularExpression versionish_string(QRegularExpression::anchoredPattern("\\d+(?:\\.\\d+)*$"));
+#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
+ QStringList list = x.split(QRegularExpression("\\s+"), Qt::SkipEmptyParts);
+#else
+ QStringList list = x.split(QRegularExpression("\\s+"), QString::SkipEmptyParts);
+#endif
for(int i = list.size() - 1; i >= 0; --i)
{
QString chunk = list[i];
- if(versionish_string.exactMatch(chunk))
+ if(versionish_string.match(chunk).hasMatch())
{
return chunk;
}
diff --git a/libraries/systeminfo/src/sys_test.cpp b/libraries/systeminfo/src/sys_test.cpp
index 315050d2..9a5f9dfa 100644
--- a/libraries/systeminfo/src/sys_test.cpp
+++ b/libraries/systeminfo/src/sys_test.cpp
@@ -1,5 +1,4 @@
#include <QTest>
-#include "TestUtil.h"
#include <sys.h>