support more identification flags
This commit is contained in:
parent
7ad73da647
commit
f08eb0674a
|
@ -105,19 +105,19 @@ function(nx_identify_architecture)
|
|||
set(NX_TARGET_BITS 0)
|
||||
endif()
|
||||
|
||||
set(NX_ARCHITECTURES_AARCH64 "ARM64")
|
||||
set(NX_ARCHITECTURES_AMD64 "AMD64" "X64" "X86_64")
|
||||
set(NX_ARCHITECTURES_ARM "ARM")
|
||||
set(NX_ARCHITECTURES_IA32 "WIN32")
|
||||
set(NX_ARCHITECTURES_AMD64 "AMD64" "X64" "X86_64" "X86_64H")
|
||||
set(NX_ARCHITECTURES_ARM64 "AARCH64" "ARM64")
|
||||
set(NX_ARCHITECTURES_ARMV7 "ARM")
|
||||
set(NX_ARCHITECTURES_IA32 "I386" "I486" "I586" "I686" "IA32" "WIN32" "X86")
|
||||
|
||||
set(NX_HOST_ARCHITECTURE_AARCH64 OFF)
|
||||
set(NX_HOST_ARCHITECTURE_AMD64 OFF)
|
||||
set(NX_HOST_ARCHITECTURE_ARM OFF)
|
||||
set(NX_HOST_ARCHITECTURE_ARM64 OFF)
|
||||
set(NX_HOST_ARCHITECTURE_ARMV7 OFF)
|
||||
set(NX_HOST_ARCHITECTURE_IA32 OFF)
|
||||
|
||||
set(NX_TARGET_ARCHITECTURE_AARCH64 OFF)
|
||||
set(NX_TARGET_ARCHITECTURE_AMD64 OFF)
|
||||
set(NX_TARGET_ARCHITECTURE_ARM OFF)
|
||||
set(NX_TARGET_ARCHITECTURE_ARM64 OFF)
|
||||
set(NX_TARGET_ARCHITECTURE_ARMV7 OFF)
|
||||
set(NX_TARGET_ARCHITECTURE_IA32 OFF)
|
||||
|
||||
set(NX_TARGET_ARCHITECTURE_CROSS OFF)
|
||||
|
@ -126,13 +126,13 @@ function(nx_identify_architecture)
|
|||
list(
|
||||
APPEND
|
||||
_NX_PROPAGATE_SET
|
||||
"NX_HOST_ARCHITECTURE_AARCH64"
|
||||
"NX_HOST_ARCHITECTURE_ARM"
|
||||
"NX_HOST_ARCHITECTURE_AMD64"
|
||||
"NX_HOST_ARCHITECTURE_ARM64"
|
||||
"NX_HOST_ARCHITECTURE_ARMV7"
|
||||
"NX_HOST_ARCHITECTURE_IA32"
|
||||
"NX_TARGET_ARCHITECTURE_AARCH64"
|
||||
"NX_TARGET_ARCHITECTURE_ARM"
|
||||
"NX_TARGET_ARCHITECTURE_AMD64"
|
||||
"NX_TARGET_ARCHITECTURE_ARM64"
|
||||
"NX_TARGET_ARCHITECTURE_ARMV7"
|
||||
"NX_TARGET_ARCHITECTURE_IA32"
|
||||
"NX_TARGET_ARCHITECTURE_CROSS"
|
||||
"NX_TARGET_ARCHITECTURE_NATIVE"
|
||||
|
@ -140,19 +140,20 @@ function(nx_identify_architecture)
|
|||
"NX_TARGET_ARCHITECTURE_MACRO")
|
||||
list(APPEND _NX_PROPAGATE_SORT "NX_TARGET_ARCHITECTURE_MACRO")
|
||||
|
||||
if("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_AARCH64)
|
||||
set(NX_HOST_ARCHITECTURE_AARCH64 ON)
|
||||
elseif("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_AMD64)
|
||||
if("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_AMD64)
|
||||
set(NX_HOST_ARCHITECTURE_AMD64 ON)
|
||||
elseif("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_ARM)
|
||||
set(NX_HOST_ARCHITECTURE_ARM ON)
|
||||
elseif("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_AARCH64)
|
||||
set(NX_HOST_ARCHITECTURE_AARCH64 ON)
|
||||
elseif("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_ARM64)
|
||||
set(NX_HOST_ARCHITECTURE_ARM64 ON)
|
||||
elseif("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_ARMV7)
|
||||
set(NX_HOST_ARCHITECTURE_ARMV7 ON)
|
||||
elseif("${NX_HOST_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_IA32)
|
||||
set(NX_HOST_ARCHITECTURE_IA32 ON)
|
||||
else()
|
||||
message(WARNING "Unknown Host Architecture ('${NX_HOST_ARCHITECTURE}')")
|
||||
endif()
|
||||
|
||||
list(APPEND NX_ARCHITECTURES_IA32 ${NX_ARCHITECTURES_AMD64})
|
||||
list(APPEND NX_ARCHITECTURES_ARMV7 ${NX_ARCHITECTURES_ARM64})
|
||||
|
||||
if("${NX_TARGET_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_AMD64 AND NX_TARGET_BITS EQUAL 64)
|
||||
set(NX_TARGET_ARCHITECTURE_STRING "AMD64")
|
||||
|
@ -160,6 +161,18 @@ function(nx_identify_architecture)
|
|||
if(NX_HOST_ARCHITECTURE_AMD64)
|
||||
set(NX_TARGET_ARCHITECTURE_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_ARM64 AND NX_TARGET_BITS EQUAL 64)
|
||||
set(NX_TARGET_ARCHITECTURE_STRING "ARM64")
|
||||
set(NX_TARGET_ARCHITECTURE_ARM64 ON)
|
||||
if(NX_HOST_ARCHITECTURE_ARM64)
|
||||
set(NX_TARGET_ARCHITECTURE_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_ARMV7 AND NX_TARGET_BITS EQUAL 32)
|
||||
set(NX_TARGET_ARCHITECTURE_STRING "ARMv7")
|
||||
set(NX_TARGET_ARCHITECTURE_ARMV7 ON)
|
||||
if(NX_HOST_ARCHITECTURE_ARMV7 OR NX_HOST_ARCHITECTURE_ARM64)
|
||||
set(NX_TARGET_ARCHITECTURE_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_ARCHITECTURE}" IN_LIST NX_ARCHITECTURES_IA32 AND NX_TARGET_BITS EQUAL 32)
|
||||
set(NX_TARGET_ARCHITECTURE_STRING "IA32")
|
||||
set(NX_TARGET_ARCHITECTURE_IA32 ON)
|
||||
|
@ -187,45 +200,118 @@ function(nx_identify_platform)
|
|||
string(TOUPPER "${CMAKE_SYSTEM_NAME}" NX_TARGET_PLATFORM)
|
||||
string(TOUPPER "${CMAKE_HOST_SYSTEM_NAME}" NX_HOST_PLATFORM)
|
||||
|
||||
set(NX_PLATFORMS_ANDROID "ANDROID")
|
||||
set(NX_PLATFORMS_DARWIN "DARWIN")
|
||||
set(NX_PLATFORMS_FREEBSD "FREEBSD")
|
||||
set(NX_PLATFORMS_HAIKU "HAIKU")
|
||||
set(NX_PLATFORMS_LINUX "LINUX")
|
||||
set(NX_PLATFORMS_MSDOS "MSDOS")
|
||||
set(NX_PLATFORMS_SOLARIS "SUNOS")
|
||||
set(NX_PLATFORMS_WINDOWS "WINDOWS")
|
||||
|
||||
set(NX_HOST_PLATFORM_DARWIN OFF)
|
||||
set(NX_HOST_PLATFORM_FREEBSD OFF)
|
||||
set(NX_HOST_PLATFORM_HAIKU OFF)
|
||||
set(NX_HOST_PLATFORM_LINUX OFF)
|
||||
set(NX_HOST_PLATFORM_SOLARIS OFF)
|
||||
set(NX_HOST_PLATFORM_WINDOWS OFF)
|
||||
|
||||
set(NX_TARGET_PLATFORM_ANDROID OFF)
|
||||
set(NX_TARGET_PLATFORM_DARWIN OFF)
|
||||
set(NX_TARGET_PLATFORM_FREEBSD OFF)
|
||||
set(NX_TARGET_PLATFORM_HAIKU OFF)
|
||||
set(NX_TARGET_PLATFORM_LINUX OFF)
|
||||
set(NX_TARGET_PLATFORM_MSDOS OFF)
|
||||
set(NX_TARGET_PLATFORM_SOLARIS OFF)
|
||||
set(NX_TARGET_PLATFORM_WINDOWS OFF)
|
||||
|
||||
set(NX_TARGET_PLATFORM_CROSS OFF)
|
||||
set(NX_TARGET_PLATFORM_NATIVE OFF)
|
||||
set(NX_TARGET_PLATFORM_POSIX OFF)
|
||||
|
||||
list(
|
||||
APPEND
|
||||
_NX_PROPAGATE_SET
|
||||
"NX_HOST_PLATFORM_DARWIN"
|
||||
"NX_HOST_PLATFORM_FREEBSD"
|
||||
"NX_HOST_PLATFORM_HAIKU"
|
||||
"NX_HOST_PLATFORM_LINUX"
|
||||
"NX_HOST_PLATFORM_SOLARIS"
|
||||
"NX_HOST_PLATFORM_WINDOWS"
|
||||
"NX_TARGET_PLATFORM_ANDROID"
|
||||
"NX_TARGET_PLATFORM_DARWIN"
|
||||
"NX_TARGET_PLATFORM_FREEBSD"
|
||||
"NX_TARGET_PLATFORM_HAIKU"
|
||||
"NX_TARGET_PLATFORM_LINUX"
|
||||
"NX_TARGET_PLATFORM_MSDOS"
|
||||
"NX_TARGET_PLATFORM_SOLARIS"
|
||||
"NX_TARGET_PLATFORM_WINDOWS"
|
||||
"NX_TARGET_PLATFORM_CROSS"
|
||||
"NX_TARGET_PLATFORM_NATIVE"
|
||||
"NX_TARGET_PLATFORM_POSIX"
|
||||
"NX_TARGET_PLATFORM_STRING"
|
||||
"NX_TARGET_PLATFORM_MACRO")
|
||||
list(APPEND _NX_PROPAGATE_SORT "NX_TARGET_PLATFORM_MACRO")
|
||||
|
||||
if("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_LINUX)
|
||||
if("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_DARWIN)
|
||||
set(NX_HOST_PLATFORM_DARWIN ON)
|
||||
elseif("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_FREEBSD)
|
||||
set(NX_HOST_PLATFORM_FREEBSD ON)
|
||||
elseif("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_HAIKU)
|
||||
set(NX_HOST_PLATFORM_HAIKU ON)
|
||||
elseif("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_LINUX)
|
||||
set(NX_HOST_PLATFORM_LINUX ON)
|
||||
elseif("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_SOLARIS)
|
||||
set(NX_HOST_PLATFORM_SOLARIS ON)
|
||||
elseif("${NX_HOST_PLATFORM}" IN_LIST NX_PLATFORMS_WINDOWS)
|
||||
set(NX_HOST_PLATFORM_WINDOWS ON)
|
||||
else()
|
||||
message(WARNING "Unknown Host Platform ('${NX_HOST_PLATFORM}')")
|
||||
endif()
|
||||
|
||||
if("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_LINUX)
|
||||
if("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_ANDROID)
|
||||
set(NX_TARGET_PLATFORM_STRING "Android")
|
||||
set(NX_TARGET_PLATFORM_ANDROID ON)
|
||||
set(NX_TARGET_PLATFORM_LINUX ON)
|
||||
set(NX_TARGET_PLATFORM_POSIX ON)
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_DARWIN)
|
||||
set(NX_TARGET_PLATFORM_STRING "Darwin")
|
||||
set(NX_TARGET_PLATFORM_DARWIN ON)
|
||||
set(NX_TARGET_PLATFORM_POSIX ON)
|
||||
if(NX_HOST_PLATFORM_DARWIN)
|
||||
set(NX_TARGET_PLATFORM_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_FREEBSD)
|
||||
set(NX_TARGET_PLATFORM_STRING "FreeBSD")
|
||||
set(NX_TARGET_PLATFORM_FREEBSD ON)
|
||||
set(NX_TARGET_PLATFORM_POSIX ON)
|
||||
if(NX_HOST_PLATFORM_FREEBSD)
|
||||
set(NX_TARGET_PLATFORM_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_HAIKU)
|
||||
set(NX_TARGET_PLATFORM_STRING "Haiku")
|
||||
set(NX_TARGET_PLATFORM_HAIKU ON)
|
||||
set(NX_TARGET_PLATFORM_POSIX ON)
|
||||
if(NX_HOST_PLATFORM_HAIKU)
|
||||
set(NX_TARGET_PLATFORM_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_LINUX)
|
||||
set(NX_TARGET_PLATFORM_STRING "Linux")
|
||||
set(NX_TARGET_PLATFORM_LINUX ON)
|
||||
set(NX_TARGET_PLATFORM_POSIX ON)
|
||||
if(NX_HOST_PLATFORM_LINUX)
|
||||
set(NX_TARGET_PLATFORM_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_MSDOS)
|
||||
set(NX_TARGET_PLATFORM_STRING "MSDOS")
|
||||
set(NX_TARGET_PLATFORM_MSDOS ON)
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_SOLARIS)
|
||||
set(NX_TARGET_PLATFORM_STRING "Solaris")
|
||||
set(NX_TARGET_PLATFORM_SOLARIS ON)
|
||||
set(NX_TARGET_PLATFORM_POSIX ON)
|
||||
if(NX_HOST_PLATFORM_SOLARIS)
|
||||
set(NX_TARGET_PLATFORM_NATIVE ON)
|
||||
endif()
|
||||
elseif("${NX_TARGET_PLATFORM}" IN_LIST NX_PLATFORMS_WINDOWS)
|
||||
set(NX_TARGET_PLATFORM_STRING "Windows")
|
||||
set(NX_TARGET_PLATFORM_WINDOWS ON)
|
||||
|
@ -238,6 +324,10 @@ function(nx_identify_platform)
|
|||
|
||||
string(TOUPPER "KYUII_PLATFORM_${NX_TARGET_PLATFORM_STRING}" NX_TARGET_PLATFORM_MACRO)
|
||||
list(APPEND NX_TARGET_PLATFORM_MACRO KYUII_PLATFORM_STRING="${NX_TARGET_PLATFORM_STRING}")
|
||||
|
||||
if(NX_TARGET_PLATFORM_POSIX)
|
||||
list(APPEND NX_TARGET_PLATFORM_MACRO "NX_TARGET_PLATFORM_POSIX")
|
||||
endif()
|
||||
|
||||
if(NOT NX_TARGET_PLATFORM_NATIVE)
|
||||
set(NX_TARGET_PLATFORM_CROSS ON)
|
||||
|
|
Loading…
Reference in New Issue