mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-02 03:23:56 -07:00
Always download macOS 13 version on intel macs (#5630)
* Always download macOS 13 version for intel macs * use contains instead of regex
This commit is contained in:
parent
6a008acb2b
commit
77a3515470
1 changed files with 21 additions and 1 deletions
|
|
@ -11,6 +11,11 @@
|
||||||
#include <QSysInfo>
|
#include <QSysInfo>
|
||||||
#include <QtGlobal>
|
#include <QtGlobal>
|
||||||
|
|
||||||
|
#if defined(Q_OS_MACOS)
|
||||||
|
#include <sys/sysctl.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define STABLERELEASE_URL "https://api.github.com/repos/Cockatrice/Cockatrice/releases/latest"
|
#define STABLERELEASE_URL "https://api.github.com/repos/Cockatrice/Cockatrice/releases/latest"
|
||||||
#define STABLEMANUALDOWNLOAD_URL "https://github.com/Cockatrice/Cockatrice/releases/latest"
|
#define STABLEMANUALDOWNLOAD_URL "https://github.com/Cockatrice/Cockatrice/releases/latest"
|
||||||
#define STABLETAG_URL "https://api.github.com/repos/Cockatrice/Cockatrice/git/refs/tags/"
|
#define STABLETAG_URL "https://api.github.com/repos/Cockatrice/Cockatrice/git/refs/tags/"
|
||||||
|
|
@ -48,8 +53,23 @@ bool ReleaseChannel::downloadMatchesCurrentOS(const QString &fileName)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto getSystemVersion = [] {
|
||||||
|
// QSysInfo does not go through translation layers
|
||||||
|
// We need to use sysctl to reliably detect the underlying architecture
|
||||||
|
char arch[255];
|
||||||
|
size_t len = sizeof(arch);
|
||||||
|
if (sysctlbyname("machdep.cpu.brand_string", arch, &len, nullptr, 0) == 0) {
|
||||||
|
// Intel mac is only supported on macOS 13 versions
|
||||||
|
if (QString::fromUtf8(arch).contains("Intel")) {
|
||||||
|
return 13;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return QSysInfo::productVersion().split(".")[0].toInt();
|
||||||
|
};
|
||||||
|
|
||||||
// older(smaller) releases are compatible with a newer or the same system version
|
// older(smaller) releases are compatible with a newer or the same system version
|
||||||
int sys_maj = QSysInfo::productVersion().split(".")[0].toInt();
|
int sys_maj = getSystemVersion();
|
||||||
int rel_maj = match.captured(1).toInt();
|
int rel_maj = match.captured(1).toInt();
|
||||||
return rel_maj == sys_maj;
|
return rel_maj == sys_maj;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue