Fixed builds that use external Swift Package Manager dependencies and cache .build/checkouts as a symlink. On Xcode 26.5, the dependency scanner can canonicalize paths before opening them, so the previous $(SRCROOT)/../../tuist-derived/... module-map flags resolved the symlink first, then the .. segments escaped into the cache volume where tuist-derived/ does not exist. This caused builds to fail with module map file... not found. Tuist now anchors those flags on $(PROJECT_DIR) for paths inside the generated tuist-derived/ directory, keeping the path entirely within the derived directory and avoiding the symlinked checkout tree. This fixes builds in CI setups that symlink .build/checkouts to a separate cache volume, such as Namespace’s nscloud-cache-action.
Hive
Fix module-map paths for symlinked SwiftPM checkouts in Xcode 26.5
Published
May 26, 2026 · 14:39 UTC
Repository
tuist/tuist