From ae4a275bcd3c4eb801362018781965f322d0b6bb Mon Sep 17 00:00:00 2001 From: Cosmic Snow Date: Fri, 9 Jun 2023 16:43:13 +0200 Subject: [PATCH] Fix Windows MSVC AVX builds - bug introduced in 0cb2b86730a56cee7460b0582418228e8049d3ef - currently getting: `warning C5102: ignoring invalid command-line macro definition '/arch:AVX2'` - solution is to use `_options(...)` not `_definitions(...)` --- gpt4all-backend/llama.cpp.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gpt4all-backend/llama.cpp.cmake b/gpt4all-backend/llama.cpp.cmake index c3dbf01a..89d63e54 100644 --- a/gpt4all-backend/llama.cpp.cmake +++ b/gpt4all-backend/llama.cpp.cmake @@ -381,7 +381,7 @@ function(include_ggml DIRECTORY SUFFIX WITH_LLAMA) message(STATUS "x86 detected") if (MSVC) if (LLAMA_AVX512) - target_compile_definitions(ggml${SUFFIX} PRIVATE + target_compile_options(ggml${SUFFIX} PRIVATE $<$:/arch:AVX512> $<$:/arch:AVX512>) # MSVC has no compile-time flags enabling specific @@ -399,11 +399,11 @@ function(include_ggml DIRECTORY SUFFIX WITH_LLAMA) $<$:__AVX512VNNI__>) endif() elseif (LLAMA_AVX2) - target_compile_definitions(ggml${SUFFIX} PRIVATE + target_compile_options(ggml${SUFFIX} PRIVATE $<$:/arch:AVX2> $<$:/arch:AVX2>) elseif (LLAMA_AVX) - target_compile_definitions(ggml${SUFFIX} PRIVATE + target_compile_options(ggml${SUFFIX} PRIVATE $<$:/arch:AVX> $<$:/arch:AVX>) endif()