Skip to content

Support configurable build directories across local Make targets - #529

Open
xcv58 wants to merge 2 commits into
mactools-app:mainfrom
xcv58:codex/generic-build-cache-paths-20261106
Open

xcv58 wants to merge 2 commits into
mactools-app:mainfrom
xcv58:codex/generic-build-cache-paths-20261106

Conversation

@xcv58

@xcv58 xcv58 commented Nov 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Fix custom Derived Data paths that could be split at spaces or incorrectly prefixed with the checkout directory.

  • Honor environment and command-line overrides for DERIVED_DATA and TEST_DERIVED_DATA, preserving separate app/test defaults.
  • Handle quoted relative and absolute paths consistently across app/CLI builds, tests, installation, Launch Services, and CI compatibility checks.
  • Use existing shell/installer path normalization, document override precedence, and isolate native tools in the Make tests.

Validation

  • Build-path tests: 3 passed with both current Python and Apple's bundled Python.
  • Existing plugin-cache tests: 9 passed, including isolation, product selection, locking, and cancellation.
  • git diff --check passed.

Local build result

  • Passed full Debug app and CLI build (make build build-cli) at commit 27687bb0 on November 6, 2026.
  • Xcode 27.1 (27A9275), macOS arm64, with code signing disabled.
  • Used an absolute Derived Data path containing spaces; completed in 11m 38s.
  • Verified the generated app and CLI executables. The native SDK contains both arm64 and x86_64 libraries.
  • App installation, launch, and runtime smoke testing were not performed.

@xcv58 xcv58 changed the title Fix custom build paths in local Make targets Support configurable build directories across local Make targets Nov 6, 2026

This branch has not been deployed

No deployments
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