Skip to content

Commit e251e5e

Browse files
authored
cmake : add utf8 compilation options for msvc (#17682)
1 parent c4357dc commit e251e5e

File tree

1 file changed

+47
-42
lines changed

1 file changed

+47
-42
lines changed

ggml/CMakeLists.txt

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -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 ()
469474
endif()

0 commit comments

Comments
 (0)