A modern formatting library
2026-05-15 01:03:06 +05:30
.github Workaround apt-add-repository timeouts 2026-05-03 07:25:47 -07:00
doc Tweak docs 2026-03-03 08:20:51 -08:00
include/fmt fix GCC PCH Breakage Triggered by fmt Scoped #pragma GCC optimize(0g) 2026-05-11 07:20:40 -07:00
src chore(IWYU):Remove redundant includes (#4758) 2026-04-29 20:50:56 -07:00
support docs(readme): document usage of fmt as a C++20 module (#4237) 2026-05-15 01:03:06 +05:30
test Fix ambiguous formatter<std::optional<T>> between fmt/std.h and fmt/ranges.h on C++26 (P3168R2) (#4761) 2026-05-03 07:37:46 -07:00
.clang-format Update and apply clang-format 2025-05-03 07:29:31 -07:00
.clang-tidy Add .clang-tidy 2025-09-03 11:05:49 -07:00
.cmake-format Rename cmake-format config 2026-03-05 17:36:49 -08:00
.gitignore Ignore some more files in .gitignore (#4512) 2025-08-05 13:41:50 -07:00
ChangeLog.md Update version 2025-10-29 07:40:27 -07:00
CMakeLists.txt Workaround apt-add-repository timeouts 2026-05-03 07:25:47 -07:00
CONTRIBUTING.md Undo the move because the doc is not a GH template 2021-08-06 11:22:33 -07:00
LICENSE Split exception into a separate file not to confuse openssf 2025-12-17 10:31:12 -08:00
README.md docs(readme): document usage of fmt as a C++20 module (#4237) 2026-05-15 01:03:06 +05:30

{fmt}

Build status Documentation

{fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams.

Using {fmt} as a C++20 Module

To use {fmt} as a C++20 module, ensure your project is configured with C++20 or later and that your compiler supports modules (e.g., GCC 14+, Clang 16+, or MSVC 19.34+).

CMake Configuration

The recommended way to use {fmt} is via the provided CMake target. Do not wrap the library in your own module; use the one provided by the build system.

  1. Enable module scanning in your CMakeLists.txt: