NOISSUE add some arch probing code

This commit is contained in:
Petr Mrázek
2023-09-02 03:16:53 +02:00
parent 9ec1d43565
commit f458204a52
4 changed files with 67 additions and 0 deletions

View File

@@ -94,3 +94,22 @@ bool Sys::lookupSystemStatusCode(uint64_t code, std::string &name, std::string &
return hasCodeName || hasDescription;
}
Sys::Architecture Sys::systemArchitecture() {
SYSTEM_INFO info;
ZeroMemory(&info, sizeof(SYSTEM_INFO));
GetNativeSystemInfo(&info);
auto arch = info.wProcessorArchitecture;
QString qtArch = QSysInfo::currentCpuArchitecture();
switch (arch) {
case PROCESSOR_ARCHITECTURE_AMD64:
return { ArchitectureType::AMD64, "x86_64" };
case PROCESSOR_ARCHITECTURE_ARM64:
return { ArchitectureType::ARM64, "arm64" };
case PROCESSOR_ARCHITECTURE_INTEL:
return { ArchitectureType::I386, "i386" };
default:
return { ArchitectureType::Undetermined, qtArch };
}
}