katie_definition(-DQT_SHARED)
endif()
-# TODO: more platforms/architectures support
include_directories(${KATIE_MKSPECS_DIR})
if(NOT KATIE_PLATFORM)
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
string(TOLOWER ${CMAKE_HOST_SYSTEM_PROCESSOR} LOWERCASE_CMAKE_SYSTEM_PROCESSOR)
endif()
if(NOT KATIE_ARCHITECTURE)
- if(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
+ # https://en.wikipedia.org/wiki/Uname
+ # TODO: NACL?
+ if(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
+ set(KATIE_ARCHITECTURE "alpha")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
set(KATIE_ARCHITECTURE "arm")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^avr")
+ set(KATIE_ARCHITECTURE "avr")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^blackfin")
+ set(KATIE_ARCHITECTURE "blackfin")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|i[3-6]86|i86pc)")
+ set(KATIE_ARCHITECTURE "i386")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^ia64")
+ set(KATIE_ARCHITECTURE "ia64")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^m68k")
+ set(KATIE_ARCHITECTURE "m68k")
elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
set(KATIE_ARCHITECTURE "mips")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc")
+ set(KATIE_ARCHITECTURE "powerpc")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
+ set(KATIE_ARCHITECTURE "s390")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
+ set(KATIE_ARCHITECTURE "sparc")
+ elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
+ set(KATIE_ARCHITECTURE "sh")
elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64)")
set(KATIE_ARCHITECTURE "x86_64")
- elseif(LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|i[3-6]86)")
- set(KATIE_ARCHITECTURE "i386")
else()
message(FATAL_ERROR "Unknown CPU '${CMAKE_SYSTEM_PROCESSOR}'")
endif()
ALPHA - ...
ARM - ...
- !ARMV6 - ...
+ ARMV6 - ...
AVR32 - ...
BFIN - ...
- !GENERIC - ...
I386 - ...
IA64 - ...
M68K - ...
MIPS - ...
+ NACL - ...
!PARISC - ...
- !POWERPC - ...
+ POWERPC - ...
S390 - ...
SPARC - ...
- X86_64 - ...
SH - ...
- !SH4A - ...
- NACL - ...
+ SH4A - ...
+ X86_64 - ...
Useful hyper-links:
https://en.wikipedia.org/wiki/GNU_Compiler_Collection#Architectures
*/
-#if defined(__alpha__) || defined(_M_ALPHA)
+#if defined(__alpha__)
# define QT_ARCH_ALPHA
-#elif defined(__arm__) || defined(_M_ARM)
+#elif defined(__arm__)
# define QT_ARCH_ARM
+# if defined(__ARM_ARCH_6__)
+# define QT_ARCH_ARMV6
+# endif
#elif defined(__avr__)
# define QT_ARCH_AVR32
#elif defined(__bfin__)
# define QT_ARCH_BFIN
-#elif defined(__ia64__) || defined(_M_IA64)
+#elif defined(__i386__)
+# define QT_ARCH_I386
+#elif defined(__ia64__)
# define QT_ARCH_IA64
#elif defined(__m68k__)
# define QT_ARCH_M68K
#elif defined(__mips__)
# define QT_ARCH_MIPS
+#elif defined(__native_client__)
+# define QT_ARCH_NACL
#elif defined(__s390__)
# define QT_ARCH_S390
+#elif defined(__powerpc__) || defined(__powerpc64__)
+# define QT_ARCH_POWERPC
#elif defined(__sparc__)
# define QT_ARCH_SPARC
#elif defined(__sh__)
# define QT_ARCH_SH
-#elif defined(__native_client__)
-# define QT_ARCH_NACL
-#elif defined(__x86_64__) || defined(_M_X64)
+# if defined(__SH4__)
+# define QT_ARCH_SH4A
+# endif
+#elif defined(__x86_64__)
# define QT_ARCH_X86_64
-#elif defined(__i386__) || defined(_M_IX86)
-# define QT_ARCH_I386
#else
# error Unable to detect architecture, please update above list
#endif
DGUX - DG/UX
RELIANT - Reliant UNIX
DYNIX - DYNIX/ptx
- QNX - QNX
LYNX - LynxOS
BSD4 - Any BSD 4.4 system
UNIX - Any UNIX BSD/SYSV system