Skip to content

fix(ios): use C++17 for fmt pod (FMT_USE_CONSTEVAL=0 from #314 does not build)#315

Open
mfazekas wants to merge 1 commit into
feat/rive-ios-experimentalfrom
fix/experimental-fmt-cpp17
Open

fix(ios): use C++17 for fmt pod (FMT_USE_CONSTEVAL=0 from #314 does not build)#315
mfazekas wants to merge 1 commit into
feat/rive-ios-experimentalfrom
fix/experimental-fmt-cpp17

Conversation

@mfazekas

@mfazekas mfazekas commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #314. The merged fmt workaround (define FMT_USE_CONSTEVAL=0) does not actually fix the Xcode 26.4+ (Apple clang 21) consteval error: fmt/base.h re-#defines FMT_USE_CONSTEVAL unconditionally (it is not #ifndef-guarded), so it overrides the command-line define and the build still fails. Verified failing on Xcode 26.6.

Switches to compiling the fmt pod as C++17, which makes fmt's own base.h disable consteval (FMT_CPLUSPLUS < 201709FMT_USE_CONSTEVAL 0). Verified building on Xcode 26.6. CI (Xcode 26.3) does not hit the consteval error, so this only affects local builds on 26.4+.

Same approach as #306 (the main-line fmt PR). Real fix is upstream in React Native 0.83+.

…#314 does not build)

The merged #314 fmt workaround (define FMT_USE_CONSTEVAL=0) does NOT fix the Xcode 26.4+ consteval error: fmt/base.h re-#defines FMT_USE_CONSTEVAL unconditionally, overriding the command-line define, so the build still fails (verified failing on Xcode 26.6). Compiling the fmt pod as C++17 makes base.h itself disable consteval (FMT_CPLUSPLUS < 201709). Verified building on Xcode 26.6.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant