diff --git a/ggml/src/ggml-cpu/CMakeLists.txt b/ggml/src/ggml-cpu/CMakeLists.txt index beebc476..5a9b25f9 100644 --- a/ggml/src/ggml-cpu/CMakeLists.txt +++ b/ggml/src/ggml-cpu/CMakeLists.txt @@ -311,7 +311,10 @@ function(ggml_add_cpu_backend_variant_impl tag_name) endif() else () if (GGML_NATIVE) - list(APPEND ARCH_FLAGS -march=native) + string(REGEX MATCH "-march=[^ ]+" MARCH_MATCH "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS}") + if(NOT MARCH_MATCH) + list(APPEND ARCH_FLAGS -march=native) + endif() else () if (GGML_SSE42) list(APPEND ARCH_FLAGS -msse4.2)