Detect PowerPC and ARM correctly (#6790)

This commit is contained in:
Sergey Fedorov
2023-07-31 11:30:38 +08:00
committed by GitHub
parent afaceadce6
commit dd70bab7e5
2 changed files with 34 additions and 4 deletions

View File

@@ -26,21 +26,47 @@ IF(WIN32)
SET(IS_X86 TRUE)
ENDIF(WIN64)
ELSE(WIN32)
# Detect target architecture based on compiler target triple
EXEC_PROGRAM( ${CMAKE_C_COMPILER} ARGS "-dumpmachine ${CMAKE_C_FLAGS}" OUTPUT_VARIABLE Machine )
MESSAGE("Machine: ${Machine}")
STRING(REGEX MATCH "i.86" IS_X86 "${Machine}")
STRING(REGEX MATCH "86_64|amd64" IS_X86_64 "${Machine}")
IF(Machine MATCHES "arm|aarch64")
IF(Machine MATCHES "arm64|aarch64")
SET(IS_ARM64 TRUE)
ELSE()
SET(IS_ARM32 TRUE)
ENDIF()
ELSEIF(Machine MATCHES "ppc|powerpc")
IF(Machine MATCHES "ppc64|powerpc64")
SET(IS_PPC64 TRUE)
ELSE()
SET(IS_PPC32 TRUE)
ENDIF()
ENDIF()
ENDIF(WIN32)
IF(IS_X86)
MESSAGE("-- Target host is 32 bit")
MESSAGE("-- Target host is 32 bit, Intel")
SET(LMMS_HOST_X86 TRUE)
ELSEIF(IS_X86_64)
MESSAGE("-- Target host is 64 bit")
MESSAGE("-- Target host is 64 bit, Intel")
SET(LMMS_HOST_X86_64 TRUE)
ELSE(IS_X86)
ELSEIF(IS_ARM32)
MESSAGE("-- Target host is 32 bit, ARM")
SET(LMMS_HOST_ARM32 TRUE)
ELSEIF(IS_ARM64)
MESSAGE("-- Target host is 64 bit, ARM")
SET(LMMS_HOST_ARM64 TRUE)
ELSEIF(IS_PPC32)
MESSAGE("-- Target host is 32 bit, PPC")
SET(LMMS_HOST_PPC32 TRUE)
ELSEIF(IS_PPC64)
MESSAGE("-- Target host is 64 bit, PPC")
SET(LMMS_HOST_PPC64 TRUE)
ELSE()
MESSAGE("Can't identify target host. Assuming 32 bit platform.")
ENDIF(IS_X86)
ENDIF()
IF(CMAKE_INSTALL_LIBDIR)
SET(LIB_DIR "${CMAKE_INSTALL_LIBDIR}")

View File

@@ -8,6 +8,10 @@
#cmakedefine LMMS_HOST_X86
#cmakedefine LMMS_HOST_X86_64
#cmakedefine LMMS_HOST_ARM32
#cmakedefine LMMS_HOST_ARM64
#cmakedefine LMMS_HOST_PPC32
#cmakedefine LMMS_HOST_PPC64
#cmakedefine LMMS_HAVE_ALSA
#cmakedefine LMMS_HAVE_FLUIDSYNTH