Skip to content

Add missing System sources to CMake build#325

Open
fallintoplace wants to merge 1 commit into
apple:release/1.7.0from
fallintoplace:fix/cmake-system-sources
Open

Add missing System sources to CMake build#325
fallintoplace wants to merge 1 commit into
apple:release/1.7.0from
fallintoplace:fix/cmake-system-sources

Conversation

@fallintoplace

Copy link
Copy Markdown
Contributor

Summary

This updates the CMake source list for SystemPackage so it matches the Swift sources in the SwiftPM target.

The CMake build now includes the previously omitted source groups:

  • Windows support files
  • temporary-path implementation files
  • FileSystem APIs, including Stat, FileType, FileMode, and FileFlags
  • Linux-only IORing files

It also enables the Swift Lifetimes feature for the CMake target, matching SwiftPM, so the Linux IORing sources are not compiled away when they are included.

Why

The CMake target had drifted from the SwiftPM target. CMake consumers could get a successful build while the produced module was missing newer API areas.

Validation

  • cmake configure with Ninja and CMAKE_INSTALL_PREFIX=.build/install-system-sources-check
  • cmake --build .build/cmake-system-sources-check
  • cmake --install .build/cmake-system-sources-check
  • Installed-module Swift typecheck that imports SystemPackage and uses FilePath.stat() / Stat.type
  • Source-list audit: CMake now names 40/40 Swift sources from the SwiftPM target

@jrflat jrflat left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks! I verified locally on macOS/Linux, but I'll also trigger cross-repo CI that exercises the CMake path to confirm before merging

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.

2 participants