summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-support/spdlog/spdlog/fix-build-for-master-fmt.patch
blob: c767db919f1211862139ee6ce59616645983f3bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Upstream-Status: Backport
[https://github.com/gabime/spdlog/commit/0ca574ae168820da0268b3ec7607ca7b33024d05]

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>

From 0ca574ae168820da0268b3ec7607ca7b33024d05 Mon Sep 17 00:00:00 2001
From: H1X4 <10332146+H1X4Dev@users.noreply.github.com>
Date: Fri, 31 Mar 2023 20:39:32 +0300
Subject: [PATCH] fix build for master fmt (non-bundled) (#2694)

* fix build for master fmt (non-bundled)

* update fmt_runtime_string macro

* fix build of updated macro
---
 include/spdlog/common.h | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/spdlog/common.h b/include/spdlog/common.h
index e69201a81..5f671c5c6 100644
--- a/include/spdlog/common.h
+++ b/include/spdlog/common.h
@@ -173,12 +173,19 @@ using format_string_t = fmt::format_string<Args...>;
 template<class T>
 using remove_cvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
 
+template <typename Char>
+#if FMT_VERSION >= 90101
+using fmt_runtime_string = fmt::runtime_format_string<Char>;
+#else
+using fmt_runtime_string = fmt::basic_runtime<Char>;
+#endif
+
 // clang doesn't like SFINAE disabled constructor in std::is_convertible<> so have to repeat the condition from basic_format_string here,
 // in addition, fmt::basic_runtime<Char> is only convertible to basic_format_string<Char> but not basic_string_view<Char>
 template<class T, class Char = char>
 struct is_convertible_to_basic_format_string
     : std::integral_constant<bool,
-          std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt::basic_runtime<Char>>::value>
+          std::is_convertible<T, fmt::basic_string_view<Char>>::value || std::is_same<remove_cvref_t<T>, fmt_runtime_string<Char>>::value>
 {};
 
 #    if defined(SPDLOG_WCHAR_FILENAMES) || defined(SPDLOG_WCHAR_TO_UTF8_SUPPORT)