|
29 | 29 |
|
30 | 30 | #include "programupdater.h"
|
31 | 31 |
|
| 32 | +#include <QtCore/qconfig.h> |
32 | 33 | #include <QtSystemDetection>
|
33 | 34 | #include <QDebug>
|
34 | 35 | #include <QDesktopServices>
|
35 | 36 | #include <QRegularExpression>
|
36 | 37 | #include <QXmlStreamReader>
|
37 | 38 |
|
| 39 | +#include <libtorrent/version.hpp> |
| 40 | + |
38 | 41 | #include "base/global.h"
|
39 | 42 | #include "base/net/downloadmanager.h"
|
40 | 43 | #include "base/preferences.h"
|
@@ -98,11 +101,41 @@ void ProgramUpdater::rssDownloadFinished(const Net::DownloadResult &result)
|
98 | 101 | };
|
99 | 102 |
|
100 | 103 | #ifdef Q_OS_MACOS
|
101 |
| - const QString OS_TYPE = u"Mac OS X"_s; |
| 104 | +#define BASE_OS "Mac OS X" |
102 | 105 | #elif defined(Q_OS_WIN)
|
103 |
| - const QString OS_TYPE = u"Windows x64"_s; |
| 106 | +#define BASE_OS "Windows x64" |
| 107 | +#endif |
| 108 | + |
| 109 | +#define CONCAT_(a, b) a ## b |
| 110 | +#define CONCAT(a, b) CONCAT_(a, b) |
| 111 | +#define STRINGIFY(s) #s |
| 112 | + |
| 113 | +#if (QT_VERSION_MAJOR == 6) && (LIBTORRENT_VERSION_MAJOR == 1) |
| 114 | +#define _TYPE() BASE_OS |
| 115 | +#define TYPE CONCAT(u, _TYPE()) |
| 116 | + |
| 117 | +#elif (QT_VERSION_MAJOR == 6) && (LIBTORRENT_VERSION_MAJOR > 1) |
| 118 | +#define _TYPE(lt_major, lt_minor) BASE_OS " (lt" STRINGIFY(lt_major) STRINGIFY(lt_minor) ")" |
| 119 | +#define TYPE CONCAT(u, _TYPE(LIBTORRENT_VERSION_MAJOR, LIBTORRENT_VERSION_MINOR)) |
| 120 | + |
| 121 | +#elif (QT_VERSION_MAJOR > 6) |
| 122 | +#define _TYPE(qt_major, lt_major, lt_minor) BASE_OS " (qt" STRINGIFY(qt_major) " lt" STRINGIFY(lt_major) STRINGIFY(lt_minor) ")" |
| 123 | +#define TYPE CONCAT(u, _TYPE(QT_VERSION_MAJOR, LIBTORRENT_VERSION_MAJOR, LIBTORRENT_VERSION_MINOR)) |
| 124 | + |
| 125 | +#else |
| 126 | +#error "OS_TYPE is undefined for the current Qt/libtorrent combination" |
104 | 127 | #endif
|
105 | 128 |
|
| 129 | + const QString OS_TYPE = TYPE""_s; |
| 130 | + |
| 131 | +#undef TYPE |
| 132 | +#undef _TYPE |
| 133 | +#undef STRINGIFY |
| 134 | +#undef CONCAT |
| 135 | +#undef CONCAT_ |
| 136 | +#undef BASE_OS |
| 137 | + |
| 138 | + |
106 | 139 | bool inItem = false;
|
107 | 140 | QString version;
|
108 | 141 | QString updateLink;
|
|
0 commit comments