From d373093734f756da53e0e5e203c305a9614b9741 Mon Sep 17 00:00:00 2001 From: Gabi Melman Date: Fri, 1 Nov 2024 16:44:15 +0200 Subject: [PATCH] Better support for FMT_UNICODE in cmake --- CMakeLists.txt | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 310ab61d..420cbe61 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,9 @@ elseif(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD_REQUIRED ON) endif() -# under msvc make sure __cplusplus, parallel build and utf-8 enabled +# under msvc make sure __cplusplus, parallel build if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus /MP /utf-8") + string(APPEND CMAKE_CXX_FLAGS " /Zc:__cplusplus /MP") endif() set(CMAKE_CXX_EXTENSIONS OFF) @@ -283,7 +283,20 @@ if(SPDLOG_NO_EXCEPTIONS) target_compile_options(spdlog PRIVATE /EHs-c-) endif() endif() + # --------------------------------------------------------------------------------------- +# {fmt} lib requires /utf-8 flag or FMT_UNICODE=0 under MSVC +# --------------------------------------------------------------------------------------- +if(NOT SPDLOG_USE_STD_FORMAT) + if(MSVC) + if(SPDLOG_WCHAR_SUPPORT OR SPDLOG_WCHAR_CONSOLE) + target_compile_options(spdlog PUBLIC /utf-8) + else() + target_compile_definitions(spdlog PUBLIC FMT_UNICODE=0) + endif() + endif() + endif() + # Build binaries # --------------------------------------------------------------------------------------- if(SPDLOG_BUILD_EXAMPLE OR SPDLOG_BUILD_EXAMPLE_HO OR SPDLOG_BUILD_ALL)