1 #ifndef CPUARCH_H
2 #define CPUARCH_H
3 
4 #include <QtGlobal>
5 
6 #if QT_VERSION < QT_VERSION_CHECK(5, 4, 0)
7 
8 #if defined(__arm64__)
9 	#define CPU_ARCH_STR "arm64"
10 #elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_M_ARM)
11 	#define CPU_ARCH_STR "arm"
12 #elif defined(__x86_64) || defined(__x86_64__) || defined(__amd64) \
13  || defined(_M_X64)
14 	#define CPU_ARCH_STR "x86_64"
15 #elif defined(__i386) || defined(__i386__) || defined(_M_IX86)
16 	#define CPU_ARCH_STR "i386"
17 #elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
18 	#define CPU_ARCH_STR "ia64"
19 #elif defined(_MIPS_ARCH_MIPS64) || defined(__mips64)
20 	#define CPU_ARCH_STR "mips64"
21 #elif defined(__mips) || defined(__mips__) || defined(_M_MRX000)
22 	#define CPU_ARCH_STR "mips"
23 #elif defined(__ppc64__) || defined(__powerpc64__) || defined(__64BIT__)
24 	#define CPU_ARCH_STR "power64"
25 #elif defined(__ppc__) || defined(__ppc) || defined(__powerpc__) \
26   || defined(_ARCH_COM) || defined(_ARCH_PWR) || defined(_ARCH_PPC)  \
27   || defined(_M_MPPC) || defined(_M_PPC)
28 	#define CPU_ARCH_STR "power"
29 #else
30 	#define CPU_ARCH_STR "unknown"
31 #endif
32 
33 #define CPU_ARCH QString(CPU_ARCH_STR)
34 
35 #else // QT_VERSION < 5.4
36 
37 #include <QSysInfo>
38 #define CPU_ARCH QSysInfo::buildCpuArchitecture()
39 
40 #endif // QT_VERSION < 5.4
41 
42 #endif // CPUARCH_H
43