Cleanup docs

This commit is contained in:
Victor Zverovich
2025-10-12 09:34:46 -07:00
parent 5e214f0c43
commit c4f70ab69e

View File

@@ -713,23 +713,47 @@ following differences:
{fmt} provides configuration via CMake options and preprocessor macros to {fmt} provides configuration via CMake options and preprocessor macros to
enable or disable features and to optimize for binary size. For example, you enable or disable features and to optimize for binary size. For example, you
can disable platform-specific APIs defined in `fmt/os.h` with `-DFMT_OS=OFF` can disable OS-specific APIs defined in `fmt/os.h` with `-DFMT_OS=OFF` when
when configuring CMake. configuring CMake.
### Available Options ### Available Options
| Option | Type | Default | Description | - **`FMT_HEADER_ONLY`**
| -------------------- | ------------ | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | Default: `0`
| `FMT_HEADER_ONLY` | 0 / 1 | 0 | Enables header-only mode when set to 1 (CMake target `fmt::fmt-header-only` defines it); disable with 0 for library mode. | Enables header-only mode when set to `1` (CMake target `fmt::fmt-header-only`
| `FMT_OS` | ON / OFF | ON | Enables OS-specific APIs (`fmt/os.h`); disable with OFF. | defines it); disable with `0` for library mode.
| `FMT_UNICODE` | ON / OFF | ON | Enables Unicode support; disable with OFF. |
| `FMT_USE_EXCEPTIONS` | 0 / 1 | 1 (0 if compiled with `-fno-exceptions`) | Enables exception-based error handling; disable with 0. |
| `FMT_BUILTIN_TYPES` | 0 / 1 | 1 | Enables built-in type formatters; disable with 0. |
| `FMT_OPTIMIZE_SIZE` | 0 / 1 / 2 | 0 | Controls size-optimized routines: 0 = off, 1 = size optimization, >1 = aggressive size optimization disabling format-string checks. |
| `FMT_USE_LOCALE` | 0 / 1 | 1 (0 when `FMT_OPTIMIZE_SIZE > 1`) | Enables locale-dependent formatting; disable with 0. |
| `FMT_THROW(x)` | macro | `throw x` (or `abort`) | Defines error handling via macro (not a toggle flag): if exceptions enabled, `throw x`; otherwise, `fmt::assert_fail(...)`. |
### Size Optimization Recipe - **`FMT_OS`**
Default: `ON`
Enables OS-specific APIs (`fmt/os.h`); disable with `OFF`.
- **`FMT_UNICODE`**
Default: `ON`
Enables Unicode support; disable with `OFF`.
- **`FMT_USE_EXCEPTIONS`**
Default: `1` (`0` if compiled with `-fno-exceptions`)
Enables exception-based error handling; disable with `0`.
- **`FMT_BUILTIN_TYPES`**
Default: `1`
Enables built-in type formatters; disable with `0`.
- **`FMT_OPTIMIZE_SIZE`**
Default: `0`
Controls size-optimized routines: `0` = off, `1` = size optimization, `>1` =
aggressive size optimization disabling format-string checks.
- **`FMT_USE_LOCALE`**
Default: `1` (`0` when `FMT_OPTIMIZE_SIZE > 1`)
Enables locale-dependent formatting; disable with `0`.
- **`FMT_THROW(x)`**
Default: ``throw x`` (or `abort`)
Defines error handling via macro (not a toggle flag): if exceptions enabled,
`throw x`; otherwise, `fmt::assert_fail(...)`.
### Binary Size Optimization
To minimize your binary footprint, use the following CMake configuration and To minimize your binary footprint, use the following CMake configuration and
compile definitions: compile definitions: