Skip to content

Commit b025edc

Browse files
Add support for powerpc64le systems (#276)
1 parent 7b8de4f commit b025edc

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

build/CompilerAndLinker.cmake

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$")
2020
set(DIRECTX_ARCH arm64)
2121
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64EC$")
2222
set(DIRECTX_ARCH arm64ec)
23+
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Pp][Pp][Cc]64|powerpc64|powerpc64le")
24+
set(DIRECTX_ARCH powerpc64)
2325
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Ww][Ii][Nn]32$")
2426
set(DIRECTX_ARCH x86)
2527
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Xx]64$")
@@ -30,9 +32,13 @@ elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Aa][Rr][Mm]64$")
3032
set(DIRECTX_ARCH arm64)
3133
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Aa][Rr][Mm]64EC$")
3234
set(DIRECTX_ARCH arm64ec)
35+
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Pp][Pp][Cc]64|powerpc64|powerpc64le")
36+
set(DIRECTX_ARCH powerpc64)
3337
elseif(NOT (DEFINED DIRECTX_ARCH))
3438
if(CMAKE_SYSTEM_PROCESSOR MATCHES "[Aa][Rr][Mm]64|aarch64|arm64")
3539
set(DIRECTX_ARCH arm64)
40+
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "[Pp][Pp][Cc]64|powerpc64|powerpc64le")
41+
set(DIRECTX_ARCH powerpc64)
3642
else()
3743
set(DIRECTX_ARCH x64)
3844
endif()
@@ -41,6 +47,8 @@ endif()
4147
#--- Determines host architecture
4248
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "[Aa][Rr][Mm]64|aarch64|arm64")
4349
set(DIRECTX_HOST_ARCH arm64)
50+
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "[Pp][Pp][Cc]64|powerpc64|powerpc64le")
51+
set(DIRECTX_HOST_ARCH powerpc64)
4452
else()
4553
set(DIRECTX_HOST_ARCH x64)
4654
endif()
@@ -96,6 +104,9 @@ if(XBOX_CONSOLE_TARGET STREQUAL "scarlett")
96104
list(APPEND COMPILER_SWITCHES $<IF:$<CXX_COMPILER_ID:MSVC>,/favor:AMD64 /arch:AVX2,-march=znver2>)
97105
elseif(XBOX_CONSOLE_TARGET MATCHES "xboxone|durango")
98106
list(APPEND COMPILER_SWITCHES $<IF:$<CXX_COMPILER_ID:MSVC>,/favor:AMD64 /arch:AVX,-march=btver2>)
107+
elseif(${DIRECTX_ARCH} MATCHES "^powerpc64")
108+
list(APPEND COMPILER_DEFINES NO_WARN_X86_INTRINSICS)
109+
list(APPEND COMPILER_SWITCHES -m64 -mcpu=power9 -maltivec)
99110
elseif(NOT (${DIRECTX_ARCH} MATCHES "^arm"))
100111
if((${DIRECTX_ARCH} STREQUAL "x86") OR (CMAKE_SIZEOF_VOID_P EQUAL 4))
101112
set(ARCH_SSE2 $<$<CXX_COMPILER_ID:MSVC,Intel>:/arch:SSE2> $<$<NOT:$<CXX_COMPILER_ID:MSVC,Intel>>:-msse2>)

0 commit comments

Comments
 (0)