Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions build/CompilerAndLinker.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64$")
set(DIRECTX_ARCH arm64)
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Aa][Rr][Mm]64EC$")
set(DIRECTX_ARCH arm64ec)
elseif(CMAKE_GENERATOR_PLATFORM MATCHES "^[Pp][Pp][Cc]64|powerpc64|powerpc64le")
set(DIRECTX_ARCH powerpc64)
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Ww][Ii][Nn]32$")
set(DIRECTX_ARCH x86)
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Xx]64$")
Expand All @@ -30,9 +32,13 @@ elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Aa][Rr][Mm]64$")
set(DIRECTX_ARCH arm64)
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Aa][Rr][Mm]64EC$")
set(DIRECTX_ARCH arm64ec)
elseif(CMAKE_VS_PLATFORM_NAME_DEFAULT MATCHES "^[Pp][Pp][Cc]64|powerpc64|powerpc64le")
set(DIRECTX_ARCH powerpc64)
elseif(NOT (DEFINED DIRECTX_ARCH))
if(CMAKE_SYSTEM_PROCESSOR MATCHES "[Aa][Rr][Mm]64|aarch64|arm64")
set(DIRECTX_ARCH arm64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "[Pp][Pp][Cc]64|powerpc64|powerpc64le")
set(DIRECTX_ARCH powerpc64)
else()
set(DIRECTX_ARCH x64)
endif()
Expand All @@ -41,6 +47,8 @@ endif()
#--- Determines host architecture
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "[Aa][Rr][Mm]64|aarch64|arm64")
set(DIRECTX_HOST_ARCH arm64)
elseif(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "[Pp][Pp][Cc]64|powerpc64|powerpc64le")
set(DIRECTX_HOST_ARCH powerpc64)
else()
set(DIRECTX_HOST_ARCH x64)
endif()
Expand Down Expand Up @@ -96,6 +104,9 @@ if(XBOX_CONSOLE_TARGET STREQUAL "scarlett")
list(APPEND COMPILER_SWITCHES $<IF:$<CXX_COMPILER_ID:MSVC>,/favor:AMD64 /arch:AVX2,-march=znver2>)
elseif(XBOX_CONSOLE_TARGET MATCHES "xboxone|durango")
list(APPEND COMPILER_SWITCHES $<IF:$<CXX_COMPILER_ID:MSVC>,/favor:AMD64 /arch:AVX,-march=btver2>)
elseif(${DIRECTX_ARCH} MATCHES "^powerpc64")
list(APPEND COMPILER_DEFINES NO_WARN_X86_INTRINSICS)
list(APPEND COMPILER_SWITCHES -m64 -mcpu=power9 -maltivec)
elseif(NOT (${DIRECTX_ARCH} MATCHES "^arm"))
if((${DIRECTX_ARCH} STREQUAL "x86") OR (CMAKE_SIZEOF_VOID_P EQUAL 4))
set(ARCH_SSE2 $<$<CXX_COMPILER_ID:MSVC,Intel>:/arch:SSE2> $<$<NOT:$<CXX_COMPILER_ID:MSVC,Intel>>:-msse2>)
Expand Down