diff --git a/include/fmt/std.h b/include/fmt/std.h index e7cd7cd7..4799df1a 100644 --- a/include/fmt/std.h +++ b/include/fmt/std.h @@ -59,7 +59,24 @@ # endif #endif -#if !defined(FMT_DISABLE_STD_FILESYSTEM) && defined(__cpp_lib_filesystem) +// For older Xcode versions, __cpp_lib_xxx flags are inaccurately defined. +#ifndef FMT_CPP_LIB_FILESYSTEM +# ifdef __cpp_lib_filesystem +# define FMT_CPP_LIB_FILESYSTEM __cpp_lib_filesystem +# else +# define FMT_CPP_LIB_FILESYSTEM 0 +# endif +#endif + +#ifndef FMT_CPP_LIB_VARIANT +# ifdef __cpp_lib_variant +# define FMT_CPP_LIB_VARIANT __cpp_lib_variant +# else +# define FMT_CPP_LIB_VARIANT 0 +# endif +#endif + +#if FMT_CPP_LIB_FILESYSTEM FMT_BEGIN_NAMESPACE namespace detail { @@ -133,7 +150,7 @@ template struct formatter { } }; FMT_END_NAMESPACE -#endif +#endif // FMT_CPP_LIB_FILESYSTEM FMT_BEGIN_NAMESPACE FMT_EXPORT @@ -211,7 +228,7 @@ struct formatter, Char, FMT_END_NAMESPACE #endif // __cpp_lib_optional -#if !defined(FMT_DISABLE_STD_VARIANT) && defined(__cpp_lib_variant) +#if FMT_CPP_LIB_VARIANT FMT_BEGIN_NAMESPACE namespace detail { @@ -302,7 +319,7 @@ struct formatter< } }; FMT_END_NAMESPACE -#endif // __cpp_lib_variant +#endif // FMT_CPP_LIB_VARIANT FMT_BEGIN_NAMESPACE FMT_EXPORT