Skip to content

build: sync infra to 749c558 for CMake 4.4 and libc++ _FORTIFY_SOURCE - #81

Closed
steve-downey wants to merge 1 commit into
bemanproject:mainfrom
steve-downey:infra-sync-cmake-4.4
Closed

build: sync infra to 749c558 for CMake 4.4 and libc++ _FORTIFY_SOURCE#81
steve-downey wants to merge 1 commit into
bemanproject:mainfrom
steve-downey:infra-sync-cmake-4.4

Conversation

@steve-downey

Copy link
Copy Markdown
Member

Syncs infra/ from 7b66b85 to 749c558, picking up three upstream commits. Both changed files fix real CI breakage.

enable-experimental-import-std.cmake — CMake 4.4.0 gate. The CMAKE_EXPERIMENTAL_CXX_IMPORT_STD UUID changes with each CMake release. After #68 bumped cmake from 4.3.4 to 4.4.0, the VERSION_GREATER_EQUAL "4.3.0" branch no longer matched a supported UUID, so import std builds stopped enabling the feature.

llvm-libc++-toolchain.cmake_FORTIFY_SOURCE. Now appends -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 alongside -stdlib=libc++.

Verification

Both vendored files match bemanproject/infra at the pinned hash byte-for-byte — no hand-edited drift:

$ gh api "repos/bemanproject/infra/contents/cmake/enable-experimental-import-std.cmake?ref=749c558..." | diff - infra/cmake/...
MATCHES pinned infra commit

The upstream range touches only those two files, so nothing else needed syncing:

$ gh api repos/bemanproject/infra/compare/7b66b85...749c558 --jq '...'
{"commits":3,"files":[
  {"file":"cmake/enable-experimental-import-std.cmake","status":"modified"},
  {"file":"cmake/llvm-libc++-toolchain.cmake","status":"modified"}]}

Split out from #80 (test coverage) so it can land independently — that PR's CI may well be waiting on this.

🤖 Generated with Claude Code

Picks up three upstream infra commits, both of which fix CI breakage:

  - enable-experimental-import-std.cmake gains the CMake 4.4.0 gate. The
    CMAKE_EXPERIMENTAL_CXX_IMPORT_STD UUID changes with each CMake release,
    so after the recent bump from 4.3.4 to 4.4.0 the 4.3.0 branch no longer
    matched and `import std` builds stopped enabling the feature.
  - llvm-libc++-toolchain.cmake appends -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
    alongside -stdlib=libc++.

Both vendored files match bemanproject/infra at the pinned hash exactly; the
upstream range touches only these two files, so nothing else needed syncing.
@steve-downey

Copy link
Copy Markdown
Member Author

Closing as a duplicate of #77, which I missed before opening this — #77 predates it (2026-08-01) and carries byte-identical changes to all three files. No need for two.

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