@@ -82,13 +82,8 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
8282 target_link_libraries (${GGML_CPU_NAME} PUBLIC memkind)
8383 endif ()
8484
85- if (CMAKE_OSX_ARCHITECTURES STREQUAL "arm64" OR
86- CMAKE_GENERATOR_PLATFORM_LWR STREQUAL "arm64" OR
87- (NOT CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_GENERATOR_PLATFORM_LWR AND
88- CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm.*|ARM64)$" ))
89-
85+ if (GGML_SYSTEM_ARCH STREQUAL "ARM" )
9086 message (STATUS "ARM detected" )
91-
9287 if (MSVC AND NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" )
9388 message (FATAL_ERROR "MSVC is not supported for ARM, use clang" )
9489 else ()
@@ -170,12 +165,8 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
170165 endforeach ()
171166 endif ()
172167 endif ()
173- elseif (CMAKE_OSX_ARCHITECTURES STREQUAL "x86_64" OR CMAKE_GENERATOR_PLATFORM_LWR MATCHES "^(x86_64|i686|amd64|x64|win32)$" OR
174- (NOT CMAKE_OSX_ARCHITECTURES AND NOT CMAKE_GENERATOR_PLATFORM_LWR AND
175- CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|i686|AMD64|amd64)$" ))
176-
168+ elseif (GGML_SYSTEM_ARCH STREQUAL "x86" )
177169 message (STATUS "x86 detected" )
178-
179170 if (MSVC )
180171 # instruction set detection for MSVC only
181172 if (GGML_NATIVE)
@@ -318,7 +309,7 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
318309 set_target_properties (${GGML_CPU_FEATS_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON )
319310 target_link_libraries (${GGML_CPU_NAME} PRIVATE ${GGML_CPU_FEATS_NAME} )
320311 endif ()
321- elseif (" ${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64le " OR " ${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "powerpc " )
312+ elseif (GGML_SYSTEM_ARCH STREQUAL "PowerPC " )
322313 message (STATUS "PowerPC detected" )
323314 if (GGML_NATIVE)
324315 if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64" )
@@ -344,18 +335,17 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
344335 list (APPEND ARCH_FLAGS -mcpu=${GGML_CPU_POWERPC_CPUTYPE} )
345336 endif ()
346337 endif ()
347- elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "loongarch64" )
338+ elseif (GGML_SYSTEM_ARCH STREQUAL "loongarch64" )
348339 message (STATUS "loongarch64 detected" )
349-
350340 list (APPEND ARCH_FLAGS -march=loongarch64)
351341 if (GGML_LASX)
352342 list (APPEND ARCH_FLAGS -mlasx)
353343 endif ()
354344 if (GGML_LSX)
355345 list (APPEND ARCH_FLAGS -mlsx)
356346 endif ()
357- elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "riscv64" )
358- message (STATUS "RISC-V detected" )
347+ elseif (GGML_SYSTEM_ARCH STREQUAL "riscv64" )
348+ message (STATUS "riscv64 detected" )
359349 if (GGML_RVV)
360350 if (GGML_XTHEADVECTOR)
361351 list (APPEND ARCH_FLAGS -march=rv64gc_xtheadvector -mabi=lp64d)
@@ -365,7 +355,7 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
365355 list (APPEND ARCH_FLAGS -march=rv64gcv -mabi=lp64d)
366356 endif ()
367357 endif ()
368- elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "s390x" )
358+ elseif (GGML_SYSTEM_ARCH STREQUAL "s390x" )
369359 message (STATUS "s390x detected" )
370360 file (READ "/proc/cpuinfo" CPUINFO_CONTENTS)
371361 string (REGEX REPLACE "machine[ \t\r\n ]*=[ \t\r\n ]*([0-9]+)" "\\ 1" S390X_M ${CPUINFO_CONTENTS} )
0 commit comments