forked from suyu/suyu
Merge pull request #7683 from liushuyu/fmt-8.1
logging: adapt to changes in fmt 8.1
This commit is contained in:
commit
b3308830b2
5 changed files with 28 additions and 3 deletions
|
@ -169,7 +169,7 @@ macro(yuzu_find_packages)
|
||||||
set(REQUIRED_LIBS
|
set(REQUIRED_LIBS
|
||||||
# Cmake Pkg Prefix Version Conan Pkg
|
# Cmake Pkg Prefix Version Conan Pkg
|
||||||
"Catch2 2.13.7 catch2/2.13.7"
|
"Catch2 2.13.7 catch2/2.13.7"
|
||||||
"fmt 8.0.1 fmt/8.0.1"
|
"fmt 8.0.1 fmt/8.1.1"
|
||||||
"lz4 1.8 lz4/1.9.2"
|
"lz4 1.8 lz4/1.9.2"
|
||||||
"nlohmann_json 3.8 nlohmann_json/3.8.0"
|
"nlohmann_json 3.8 nlohmann_json/3.8.0"
|
||||||
"ZLIB 1.2 zlib/1.2.11"
|
"ZLIB 1.2 zlib/1.2.11"
|
||||||
|
|
|
@ -85,6 +85,7 @@ add_library(common STATIC
|
||||||
logging/backend.h
|
logging/backend.h
|
||||||
logging/filter.cpp
|
logging/filter.cpp
|
||||||
logging/filter.h
|
logging/filter.h
|
||||||
|
logging/formatter.h
|
||||||
logging/log.h
|
logging/log.h
|
||||||
logging/log_entry.h
|
logging/log_entry.h
|
||||||
logging/text_formatter.cpp
|
logging/text_formatter.cpp
|
||||||
|
|
23
src/common/logging/formatter.h
Normal file
23
src/common/logging/formatter.h
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// Copyright 2022 yuzu Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
|
#include <fmt/format.h>
|
||||||
|
|
||||||
|
// adapted from https://github.com/fmtlib/fmt/issues/2704
|
||||||
|
// a generic formatter for enum classes
|
||||||
|
#if FMT_VERSION >= 80100
|
||||||
|
template <typename T>
|
||||||
|
struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>>
|
||||||
|
: formatter<std::underlying_type_t<T>> {
|
||||||
|
template <typename FormatContext>
|
||||||
|
auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) {
|
||||||
|
return fmt::formatter<std::underlying_type_t<T>>::format(
|
||||||
|
static_cast<std::underlying_type_t<T>>(value), ctx);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
|
@ -7,8 +7,9 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
|
|
||||||
#include <fmt/core.h>
|
#include <fmt/format.h>
|
||||||
|
|
||||||
|
#include "common/logging/formatter.h"
|
||||||
#include "common/logging/types.h"
|
#include "common/logging/types.h"
|
||||||
|
|
||||||
namespace Common::Log {
|
namespace Common::Log {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
#include <string_view>
|
#include <string_view>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include <fmt/format.h>
|
#include "common/logging/formatter.h"
|
||||||
|
|
||||||
namespace Shader {
|
namespace Shader {
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue