diff --git a/wamr-compiler/CMakeLists.txt b/wamr-compiler/CMakeLists.txt index 4e5b76f8..f7617fed 100644 --- a/wamr-compiler/CMakeLists.txt +++ b/wamr-compiler/CMakeLists.txt @@ -58,25 +58,38 @@ if (DEFINED WAMR_BUILD_AOT_FUNC_PREFIX) add_definitions(-DAOT_FUNC_PREFIX="${WAMR_BUILD_AOT_FUNC_PREFIX}") endif () -# Set WAMR_BUILD_TARGET, currently values supported: -# "X86_64", "AMD_64", "X86_32", "ARM_32", "MIPS_32", "XTENSA_32" if (NOT WAMR_BUILD_TARGET) - if (CMAKE_SIZEOF_VOID_P EQUAL 8) - # Build as X86_64 by default in 64-bit platform + if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") set (WAMR_BUILD_TARGET "X86_64") - else () - # Build as X86_32 by default in 32-bit platform + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "i686") set (WAMR_BUILD_TARGET "X86_32") - endif () + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "amd64") + set (WAMR_BUILD_TARGET "AMD_64") + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64" + OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64") + set (WAMR_BUILD_TARGET "AARCH64") + elseif (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm.*") + message(STATUS "Assuming ${CMAKE_HOST_SYSTEM_PROCESSOR} as ARM_32") + set (WAMR_BUILD_TARGET "ARM_32") + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "mips") + set (WAMR_BUILD_TARGET "MIPS_32") + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "xtensa") + set (WAMR_BUILD_TARGET "XTENSA_32") + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv64") + set (WAMR_BUILD_TARGET "RISCV64") + elseif (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "riscv") + message(STATUS "Assuming ${CMAKE_HOST_SYSTEM_PROCESSOR} as RISCV32") + set (WAMR_BUILD_TARGET "RISCV32") + else () + message (FATAL_ERROR "Unsupported CMAKE_HOST_SYSTEM_PROCESSOR " + "${CMAKE_HOST_SYSTEM_PROCESSOR}") + endif() + if (WAMR_BUILD_PLATFORM STREQUAL "windows") if (("${CMAKE_GENERATOR_PLATFORM}" STREQUAL "Win32")) set (WAMR_BUILD_TARGET "X86_32") endif() - elseif (WAMR_BUILD_PLATFORM STREQUAL "darwin") - if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64") - set (WAMR_BUILD_TARGET "AARCH64") - endif () - endif() + endif () endif () string(TOUPPER ${WAMR_BUILD_TARGET} WAMR_BUILD_TARGET)