diff --git a/src/libs/utils/winutils.cpp b/src/libs/utils/winutils.cpp index 6b25890c6d08131e8d4deedeb645d0b561a9d5bc..60511ba963ae9e02bc783519b4be70df8611b5df 100644 --- a/src/libs/utils/winutils.cpp +++ b/src/libs/utils/winutils.cpp @@ -155,10 +155,23 @@ QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name, QString *er return rc; } -unsigned long winQPidToPid(const Q_PID qpid) +QTCREATOR_UTILS_EXPORT unsigned long winQPidToPid(const Q_PID qpid) { const PROCESS_INFORMATION *processInfo = reinterpret_cast<const PROCESS_INFORMATION*>(qpid); return processInfo->dwProcessId; } +QTCREATOR_UTILS_EXPORT bool winIs64BitSystem() +{ + // Exclude VS 2005 +#if defined(_MSC_VER) && _MSC_VER < 1400 + return false; +#else + SYSTEM_INFO systemInfo; + GetNativeSystemInfo(&systemInfo); + return systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 + || systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64; +#endif +} + } // namespace Utils diff --git a/src/libs/utils/winutils.h b/src/libs/utils/winutils.h index 1eb2bd6e529a3fbd29336d1d37ec4a25bd5dbdd1..6c3a2af8f70d68ac56be1926861ef6bca0094b57 100644 --- a/src/libs/utils/winutils.h +++ b/src/libs/utils/winutils.h @@ -56,5 +56,7 @@ QTCREATOR_UTILS_EXPORT QString getShortPathName(const QString &name, QTCREATOR_UTILS_EXPORT unsigned long winQPidToPid(const Q_PID qpid); +QTCREATOR_UTILS_EXPORT bool winIs64BitSystem(); + } // namespace Utils #endif // WINUTILS_H