diff options
author | David Schulz <david.schulz@qt.io> | 2020-06-16 09:59:51 +0200 |
---|---|---|
committer | Alessandro Portale <alessandro.portale@qt.io> | 2020-06-16 08:36:27 +0000 |
commit | 5bd0894813443aa71c7f8dcd8fbe299e2c4af454 (patch) | |
tree | 64f91b1aefbb923ab239d3d6a4fc96c45c34c095 /src/libs/utils/archive.cpp | |
parent | 8efe0df9dc1fc8bea9a304fb79bf282111121ca1 (diff) |
Utils: Fix compile on unix
amends 72b35aa12b36c99fecaef2a5e0027cf899661a07
Change-Id: I934ef8420b998db367f004d2f58782abdc843af9
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/libs/utils/archive.cpp')
-rw-r--r-- | src/libs/utils/archive.cpp | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/src/libs/utils/archive.cpp b/src/libs/utils/archive.cpp index a1117d152aa..54411a4b09d 100644 --- a/src/libs/utils/archive.cpp +++ b/src/libs/utils/archive.cpp @@ -47,24 +47,28 @@ struct Tool QStringList additionalSearchDirs; }; +static QStringList additionalInstallDirs(const QString ®istryKey, const QString &valueName) +{ +#if defined(Q_OS_WIN) + const QSettings settings64(registryKey, QSettings::Registry64Format); + const QSettings settings32(registryKey, QSettings::Registry32Format); + return {settings64.value(valueName).toString(), settings32.value(valueName).toString()}; +#else + Q_UNUSED(registryKey) + Q_UNUSED(valueName) + return {}; +#endif +} + static const QVector<Tool> &sTools() { static QVector<Tool> tools; if (tools.isEmpty()) { tools << Tool{{"unzip"}, {"-o", "%{src}", "-d", "%{dest}"}, {"application/zip"}, {}}; - QStringList additional7ZipDirs; - if (Utils::HostOsInfo::isWindowsHost()) { - const QSettings settings64("HKEY_CURRENT_USER\\Software\\7-Zip", - QSettings::Registry64Format); - const QSettings settings32("HKEY_CURRENT_USER\\Software\\7-Zip", - QSettings::Registry32Format); - additional7ZipDirs << settings64.value("Path").toString() - << settings32.value("Path").toString(); - } tools << Tool{{"7z"}, {"x", "-o%{dest}", "-y", "%{src}"}, {"application/zip", "application/x-7z-compressed"}, - additional7ZipDirs}; + additionalInstallDirs("HKEY_CURRENT_USER\\Software\\7-Zip", "Path")}; tools << Tool{{"tar"}, {"xvf", "%{src}"}, {"application/zip", "application/x-tar", "application/x-7z-compressed"}, @@ -72,15 +76,8 @@ static const QVector<Tool> &sTools() tools << Tool{{"tar"}, {"xvzf", "%{src}"}, {"application/x-compressed-tar"}, {}}; tools << Tool{{"tar"}, {"xvJf", "%{src}"}, {"application/x-xz-compressed-tar"}, {}}; tools << Tool{{"tar"}, {"xvjf", "%{src}"}, {"application/x-bzip-compressed-tar"}, {}}; - QStringList additionalCMakeDirs; - if (Utils::HostOsInfo::isWindowsHost()) { - const QSettings settings64("HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware\\CMake", - QSettings::Registry64Format); - const QSettings settings32("HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware\\CMake", - QSettings::Registry32Format); - additionalCMakeDirs << settings64.value("InstallDir").toString() - << settings32.value("InstallDir").toString(); - } + const QStringList additionalCMakeDirs = additionalInstallDirs( + "HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware\\CMake", "InstallDir"); tools << Tool{{"cmake"}, {"-E", "tar", "xvf", "%{src}"}, {"application/zip", "application/x-tar", "application/x-7z-compressed"}, |