Simplify predicates in #2517 for fmtlib 9.1.x macros and the MSVC compiler and wchar filename support macros

pull/2517/head
YunchengLiu 3 years ago
parent 473726d2e5
commit 930319633d

@ -77,18 +77,14 @@ struct daily_filename_format_calculator
#else
// generate fmt datetime format string, e.g. {:%Y-%m-%d}.
filename_t fmt_filename = fmt::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{{:{}}}")), filename);
# if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) // for some reason msvc doesn't allow fmt::runtime(..) with wchar here
# if FMT_VERSION >= 90101
// fmt 9.1.x added compile-time checks for wide strings
// so when compiled with MSVC and this or later version of fmt
// here should use 'SPDLOG_FMT_RUNTIME' to enable 'fmt::runtime(...)' for wchar to avoid compile error
return fmt::format(SPDLOG_FMT_RUNTIME(fmt_filename), now_tm);
# else
return fmt::format(fmt_filename, now_tm);
# endif
// MSVC doesn't allow fmt::runtime(..) with wchar, with fmtlib versions < 9.1.x
# if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) && FMT_VERSION < 90101
return fmt::format(fmt_filename, now_tm);
# else
return fmt::format(SPDLOG_FMT_RUNTIME(fmt_filename), now_tm);
# endif
#endif
}

Loading…
Cancel
Save