Skip to content

Commit 9e54f5c

Browse files
committed
Improve host architecture detection
1 parent e245cbe commit 9e54f5c

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

CMakeLists.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,32 @@ if(ENABLE_SWIFT)
4444
get_filename_component(SWIFT_TOOLCHAIN ${SWIFT_TOOLCHAIN} DIRECTORY)
4545

4646
string(TOLOWER ${CMAKE_SYSTEM_NAME} SWIFT_OS)
47-
set(SWIFT_RUNTIME_LIBDIR ${SWIFT_TOOLCHAIN}/lib/swift/${SWIFT_OS}/${CMAKE_SYSTEM_PROCESSOR})
47+
48+
if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
49+
set(SWIFT_HOST_ARCH "x86_64")
50+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "aarch64")
51+
set(SWIFT_HOST_ARCH "aarch64")
52+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ppc64")
53+
set(SWIFT_HOST_ARCH "powerpc64")
54+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "ppc64le")
55+
set(SWIFT_HOST_ARCH "powerpc64le")
56+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "s390x")
57+
set(SWIFT_HOST_ARCH "s390x")
58+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv6l")
59+
set(SWIFT_HOST_ARCH "armv6")
60+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "armv7l")
61+
set(SWIFT_HOST_ARCH "armv7")
62+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "AMD64")
63+
set(SWIFT_HOST_ARCH "x86_64")
64+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "IA64")
65+
set(SWIFT_HOST_ARCH "itanium")
66+
elseif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86")
67+
set(SWIFT_HOST_ARCH "i686")
68+
else()
69+
message(FATAL_ERROR "Unrecognized architecture on host system: ${CMAKE_SYSTEM_PROCESSOR}")
70+
endif()
71+
72+
set(SWIFT_RUNTIME_LIBDIR ${SWIFT_TOOLCHAIN}/lib/swift/${SWIFT_OS}/${SWIFT_HOST_ARCH})
4873

4974
add_library(swiftCore
5075
SHARED IMPORTED GLOBAL)

0 commit comments

Comments
 (0)