mirror of
https://github.com/partic2/libffi
synced 2026-11-09 17:47:19 +00:00
45 lines
1.4 KiB
CMake
45 lines
1.4 KiB
CMake
if("${CMAKE_C_COMPILER_ARCHITECTURE_ID}" STREQUAL "")
|
|
set(HOST_ARCH ${CMAKE_SYSTEM_PROCESSOR})
|
|
else()
|
|
set(HOST_ARCH ${CMAKE_C_COMPILER_ARCHITECTURE_ID})
|
|
endif()
|
|
|
|
|
|
if("${TARGET_PLATFORM}" STREQUAL "")
|
|
if(HOST_ARCH MATCHES x64|x86_64|AMD64|amd64)
|
|
if(CMAKE_SYSTEM_NAME STREQUAL Windows)
|
|
set(TARGET_PLATFORM X86_WIN64)
|
|
else()
|
|
set(TARGET_PLATFORM X86_64)
|
|
endif()
|
|
elseif(HOST_ARCH MATCHES i.*86.*|X86|x86)
|
|
if(CMAKE_SYSTEM_NAME MATCHES Windows)
|
|
set(TARGET_PLATFORM X86_WIN32)
|
|
else()
|
|
set(TARGET_PLATFORM X86)
|
|
endif()
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
set(TARGET_PLATFORM X86_DARWIN)
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES FreeBSD|OpenBSD)
|
|
set(TARGET_PLATFORM X86_FREEBSD)
|
|
endif()
|
|
elseif(HOST_ARCH MATCHES aarch64|ARM64|arm64)
|
|
if(CMAKE_SYSTEM_NAME MATCHES Windows)
|
|
set(TARGET_PLATFORM ARM_WIN64)
|
|
else()
|
|
set(TARGET_PLATFORM AARCH64)
|
|
endif()
|
|
elseif(HOST_ARCH MATCHES arm.*|ARM.*)
|
|
if(CMAKE_SYSTEM_NAME MATCHES Windows)
|
|
set(TARGET_PLATFORM ARM_WIN32)
|
|
else()
|
|
set(TARGET_PLATFORM ARM)
|
|
endif()
|
|
else()
|
|
message(FATAL_ERROR "Unknown host.")
|
|
endif()
|
|
endif()
|
|
|
|
message(STATUS "Building for TARGET_PLATFORM: ${TARGET_PLATFORM}")
|