@@ -408,62 +408,67 @@ if (MSVC)
408408 /wd4996 # Disable POSIX deprecation warnings
409409 /wd4702 # Unreachable code warnings
410410 )
411- function (disable_msvc_warnings target_name)
411+ set (MSVC_COMPILE_OPTIONS
412+ "$<$<COMPILE_LANGUAGE:C>:/utf-8>"
413+ "$<$<COMPILE_LANGUAGE:CXX>:/utf-8>"
414+ )
415+ function (configure_msvc_target target_name)
412416 if (TARGET ${target_name} )
413417 target_compile_options (${target_name} PRIVATE ${MSVC_WARNING_FLAGS} )
418+ target_compile_options (${target_name} PRIVATE ${MSVC_COMPILE_OPTIONS} )
414419 endif ()
415420 endfunction ()
416421
417- disable_msvc_warnings (ggml-base)
418- disable_msvc_warnings (ggml)
419- disable_msvc_warnings (ggml-cpu)
420- disable_msvc_warnings (ggml-cpu-x64)
421- disable_msvc_warnings (ggml-cpu-sse42)
422- disable_msvc_warnings (ggml-cpu-sandybridge)
423- disable_msvc_warnings (ggml-cpu-haswell)
424- disable_msvc_warnings (ggml-cpu-skylakex)
425- disable_msvc_warnings (ggml-cpu-icelake)
426- disable_msvc_warnings (ggml-cpu-alderlake)
422+ configure_msvc_target (ggml-base)
423+ configure_msvc_target (ggml)
424+ configure_msvc_target (ggml-cpu)
425+ configure_msvc_target (ggml-cpu-x64)
426+ configure_msvc_target (ggml-cpu-sse42)
427+ configure_msvc_target (ggml-cpu-sandybridge)
428+ configure_msvc_target (ggml-cpu-haswell)
429+ configure_msvc_target (ggml-cpu-skylakex)
430+ configure_msvc_target (ggml-cpu-icelake)
431+ configure_msvc_target (ggml-cpu-alderlake)
427432
428433 if (GGML_BUILD_EXAMPLES)
429- disable_msvc_warnings (common-ggml)
430- disable_msvc_warnings (common)
434+ configure_msvc_target (common-ggml)
435+ configure_msvc_target (common)
431436
432- disable_msvc_warnings (mnist-common)
433- disable_msvc_warnings (mnist-eval)
434- disable_msvc_warnings (mnist-train)
437+ configure_msvc_target (mnist-common)
438+ configure_msvc_target (mnist-eval)
439+ configure_msvc_target (mnist-train)
435440
436- disable_msvc_warnings (gpt-2-ctx)
437- disable_msvc_warnings (gpt-2-alloc)
438- disable_msvc_warnings (gpt-2-backend)
439- disable_msvc_warnings (gpt-2-sched)
440- disable_msvc_warnings (gpt-2-quantize)
441- disable_msvc_warnings (gpt-2-batched)
441+ configure_msvc_target (gpt-2-ctx)
442+ configure_msvc_target (gpt-2-alloc)
443+ configure_msvc_target (gpt-2-backend)
444+ configure_msvc_target (gpt-2-sched)
445+ configure_msvc_target (gpt-2-quantize)
446+ configure_msvc_target (gpt-2-batched)
442447
443- disable_msvc_warnings (gpt-j)
444- disable_msvc_warnings (gpt-j-quantize)
448+ configure_msvc_target (gpt-j)
449+ configure_msvc_target (gpt-j-quantize)
445450
446- disable_msvc_warnings (magika)
447- disable_msvc_warnings (yolov3-tiny)
448- disable_msvc_warnings (sam)
451+ configure_msvc_target (magika)
452+ configure_msvc_target (yolov3-tiny)
453+ configure_msvc_target (sam)
449454
450- disable_msvc_warnings (simple-ctx)
451- disable_msvc_warnings (simple-backend)
455+ configure_msvc_target (simple-ctx)
456+ configure_msvc_target (simple-backend)
452457 endif ()
453458
454459 if (GGML_BUILD_TESTS)
455- disable_msvc_warnings (test -mul-mat)
456- disable_msvc_warnings (test -arange)
457- disable_msvc_warnings (test -backend-ops)
458- disable_msvc_warnings (test -cont)
459- disable_msvc_warnings (test -conv-transpose)
460- disable_msvc_warnings (test -conv-transpose-1d)
461- disable_msvc_warnings (test -conv1d)
462- disable_msvc_warnings (test -conv2d)
463- disable_msvc_warnings (test -conv2d-dw)
464- disable_msvc_warnings (test -customop)
465- disable_msvc_warnings (test -dup)
466- disable_msvc_warnings (test -opt)
467- disable_msvc_warnings (test -pool)
460+ configure_msvc_target (test -mul-mat)
461+ configure_msvc_target (test -arange)
462+ configure_msvc_target (test -backend-ops)
463+ configure_msvc_target (test -cont)
464+ configure_msvc_target (test -conv-transpose)
465+ configure_msvc_target (test -conv-transpose-1d)
466+ configure_msvc_target (test -conv1d)
467+ configure_msvc_target (test -conv2d)
468+ configure_msvc_target (test -conv2d-dw)
469+ configure_msvc_target (test -customop)
470+ configure_msvc_target (test -dup)
471+ configure_msvc_target (test -opt)
472+ configure_msvc_target (test -pool)
468473 endif ()
469474endif ()
0 commit comments