diff options
Diffstat (limited to '')
| -rw-r--r-- | CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/common/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/common/logging/formatter.h | 23 | ||||
| -rw-r--r-- | src/common/logging/log.h | 3 | ||||
| -rw-r--r-- | src/shader_recompiler/exception.h | 2 |
5 files changed, 28 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 707d514c3..47bd282fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -169,7 +169,7 @@ macro(yuzu_find_packages) | |||
| 169 | set(REQUIRED_LIBS | 169 | set(REQUIRED_LIBS |
| 170 | # Cmake Pkg Prefix Version Conan Pkg | 170 | # Cmake Pkg Prefix Version Conan Pkg |
| 171 | "Catch2 2.13.7 catch2/2.13.7" | 171 | "Catch2 2.13.7 catch2/2.13.7" |
| 172 | "fmt 8.0.1 fmt/8.0.1" | 172 | "fmt 8.0.1 fmt/8.1.1" |
| 173 | "lz4 1.8 lz4/1.9.2" | 173 | "lz4 1.8 lz4/1.9.2" |
| 174 | "nlohmann_json 3.8 nlohmann_json/3.8.0" | 174 | "nlohmann_json 3.8 nlohmann_json/3.8.0" |
| 175 | "ZLIB 1.2 zlib/1.2.11" | 175 | "ZLIB 1.2 zlib/1.2.11" |
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 790193b00..adf70eb8b 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt | |||
| @@ -85,6 +85,7 @@ add_library(common STATIC | |||
| 85 | logging/backend.h | 85 | logging/backend.h |
| 86 | logging/filter.cpp | 86 | logging/filter.cpp |
| 87 | logging/filter.h | 87 | logging/filter.h |
| 88 | logging/formatter.h | ||
| 88 | logging/log.h | 89 | logging/log.h |
| 89 | logging/log_entry.h | 90 | logging/log_entry.h |
| 90 | logging/text_formatter.cpp | 91 | logging/text_formatter.cpp |
diff --git a/src/common/logging/formatter.h b/src/common/logging/formatter.h new file mode 100644 index 000000000..552cde75a --- /dev/null +++ b/src/common/logging/formatter.h | |||
| @@ -0,0 +1,23 @@ | |||
| 1 | // Copyright 2022 yuzu Emulator Project | ||
| 2 | // Licensed under GPLv2 or any later version | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include <type_traits> | ||
| 8 | |||
| 9 | #include <fmt/format.h> | ||
| 10 | |||
| 11 | // adapted from https://github.com/fmtlib/fmt/issues/2704 | ||
| 12 | // a generic formatter for enum classes | ||
| 13 | #if FMT_VERSION >= 80100 | ||
| 14 | template <typename T> | ||
| 15 | struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>> | ||
| 16 | : formatter<std::underlying_type_t<T>> { | ||
| 17 | template <typename FormatContext> | ||
| 18 | auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) { | ||
| 19 | return fmt::formatter<std::underlying_type_t<T>>::format( | ||
| 20 | static_cast<std::underlying_type_t<T>>(value), ctx); | ||
| 21 | } | ||
| 22 | }; | ||
| 23 | #endif | ||
diff --git a/src/common/logging/log.h b/src/common/logging/log.h index c186d55ef..0c80d01ee 100644 --- a/src/common/logging/log.h +++ b/src/common/logging/log.h | |||
| @@ -7,8 +7,9 @@ | |||
| 7 | #include <algorithm> | 7 | #include <algorithm> |
| 8 | #include <string_view> | 8 | #include <string_view> |
| 9 | 9 | ||
| 10 | #include <fmt/core.h> | 10 | #include <fmt/format.h> |
| 11 | 11 | ||
| 12 | #include "common/logging/formatter.h" | ||
| 12 | #include "common/logging/types.h" | 13 | #include "common/logging/types.h" |
| 13 | 14 | ||
| 14 | namespace Common::Log { | 15 | namespace Common::Log { |
diff --git a/src/shader_recompiler/exception.h b/src/shader_recompiler/exception.h index 277be8541..d98b6029b 100644 --- a/src/shader_recompiler/exception.h +++ b/src/shader_recompiler/exception.h | |||
| @@ -9,7 +9,7 @@ | |||
| 9 | #include <string_view> | 9 | #include <string_view> |
| 10 | #include <utility> | 10 | #include <utility> |
| 11 | 11 | ||
| 12 | #include <fmt/format.h> | 12 | #include "common/logging/formatter.h" |
| 13 | 13 | ||
| 14 | namespace Shader { | 14 | namespace Shader { |
| 15 | 15 | ||