Skip to content

Build: drop glaze /GL+/LTCG so MSVC Release links#29

Open
Seltraeh wants to merge 1 commit into
decompfrontier:devfrom
Seltraeh:glaze-ltcg-fix
Open

Build: drop glaze /GL+/LTCG so MSVC Release links#29
Seltraeh wants to merge 1 commit into
decompfrontier:devfrom
Seltraeh:glaze-ltcg-fix

Conversation

@Seltraeh

Copy link
Copy Markdown
Contributor

glaze's vcpkg port pins /GL (whole-program optimization) and /LTCG on its
imported target for Release/MinSizeRel. Those flags propagate through
gimuserver to every consumer, and MSVC's LTCG code-gen pass fails on the
coroutine HANDLEF bodies (e.g. UserInfo.cpp, GachaAction.cpp) with
C4737 → LNK1257, so Release / MinSizeRel builds don't link.

This overrides glaze's interface compile/link options to drop the LTCG flags.
The tradeoff is losing cross-TU inlining from glaze in exchange for Release
actually linking. Debug builds are unaffected.

Split out of a larger feature branch (per review feedback) as a standalone,
independent build fix.

🤖 Generated with Claude Code

glaze's vcpkg port pins /GL and /LTCG on its imported target; those propagate
to every consumer, and MSVC's LTCG code-gen pass fails on the coroutine handler
bodies with C4737 -> LNK1257, breaking Release/MinSizeRel links. Override
glaze's interface flags to drop LTCG so Release builds link cleanly.
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