forked from Mirrorlandia_minetest/minetest
Fix Windows architecture reporting in sysinfo
This commit is contained in:
parent
da832a295e
commit
a292cc42aa
@ -204,7 +204,6 @@ bool detectMSVCBuildDir(const std::string &path)
|
|||||||
std::string get_sysinfo()
|
std::string get_sysinfo()
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
std::ostringstream oss;
|
std::ostringstream oss;
|
||||||
LPSTR filePath = new char[MAX_PATH];
|
LPSTR filePath = new char[MAX_PATH];
|
||||||
UINT blockSize;
|
UINT blockSize;
|
||||||
@ -224,15 +223,25 @@ std::string get_sysinfo()
|
|||||||
<< LOWORD(fixedFileInfo->dwProductVersionMS) << '.' // Minor
|
<< LOWORD(fixedFileInfo->dwProductVersionMS) << '.' // Minor
|
||||||
<< HIWORD(fixedFileInfo->dwProductVersionLS) << ' '; // Build
|
<< HIWORD(fixedFileInfo->dwProductVersionLS) << ' '; // Build
|
||||||
|
|
||||||
#ifdef _WIN64
|
SYSTEM_INFO info;
|
||||||
oss << "x86_64";
|
GetNativeSystemInfo(&info);
|
||||||
#else
|
switch (info.wProcessorArchitecture) {
|
||||||
BOOL is64 = FALSE;
|
case PROCESSOR_ARCHITECTURE_AMD64:
|
||||||
if (IsWow64Process(GetCurrentProcess(), &is64) && is64)
|
oss << "x86_64";
|
||||||
oss << "x86_64"; // 32-bit app on 64-bit OS
|
break;
|
||||||
else
|
case PROCESSOR_ARCHITECTURE_ARM:
|
||||||
|
oss << "arm";
|
||||||
|
break;
|
||||||
|
case PROCESSOR_ARCHITECTURE_ARM64:
|
||||||
|
oss << "arm64";
|
||||||
|
break;
|
||||||
|
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||||
oss << "x86";
|
oss << "x86";
|
||||||
#endif
|
break;
|
||||||
|
default:
|
||||||
|
oss << "unknown";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
delete[] lpVersionInfo;
|
delete[] lpVersionInfo;
|
||||||
delete[] filePath;
|
delete[] filePath;
|
||||||
|
Loading…
Reference in New Issue
Block a user