Skip to content

Honor caller-provided macOS deployment targets - #278

Draft
johnrichardrinehart wants to merge 1 commit into
musescore:mainfrom
johnrichardrinehart:fix/honor-macos-deployment-target
Draft

Honor caller-provided macOS deployment targets#278
johnrichardrinehart wants to merge 1 commit into
musescore:mainfrom
johnrichardrinehart:fix/honor-macos-deployment-target

Conversation

@johnrichardrinehart

@johnrichardrinehart johnrichardrinehart commented Sep 7, 2026

Copy link
Copy Markdown

Problem

The macOS setup unconditionally resets CMAKE_OSX_DEPLOYMENT_TARGET and MACOSX_DEPLOYMENT_TARGET to 10.15.4. This overrides the deployment target chosen by a consuming application, toolchain, or package builder.

Change

  • Keep a nonempty CMAKE_OSX_DEPLOYMENT_TARGET supplied by the caller/toolchain.
  • If it is unset or empty, use a nonempty MACOSX_DEPLOYMENT_TARGET environment value.
  • Otherwise retain the existing 10.15.4 default.
  • Set the ordinary MACOSX_DEPLOYMENT_TARGET variable to the selected CMake value so the LSMinimumSystemVersion substitution in buildscripts/packaging/macOS/Info.plist.in remains consistent.

A supplied CMake target takes precedence over a conflicting environment value. No cache value is forced, and the existing user override include is unchanged.

Verification and status

Draft: native macOS verification and human review are outstanding. No build, test, lint, or formatter commands were run for this submission. The downstream integrator will apply the immutable patch to the Audacity 4 release sources and perform validation separately. Current main, related build scripts, packaging metadata, and PR search results were inspected; no equivalent fix was found.

AI disclosure

This patch and PR text were prepared and submitted by an AI coding assistant at the repository owner's explicit request. The assistant cannot attest to the owner's CLA status or claim human understanding/sign-off.

Checklist

  • I signed the CLA (owner confirmation required).
  • The title describes the problem.
  • The commit message describes the purpose and effects; no linked issue was supplied.
  • Human review against the coding rules is complete.
  • The contributor has reviewed and can explain all aspects of this code.
  • The code compiles and runs on my machine; manual native verification is complete.
  • Existing main and related PRs were checked; no equivalent fix was found.
  • There are no unrelated changes.
  • Unit/vtest coverage added (not added for this CMake configuration change).

Validation update

Subsequent validation: the fetched patch applies to the Muse snapshot bundled with Audacity 4.0.0. Executing its CMake block preserves the 10.15.4 default, honors an environment-only target, and gives an explicit CMake target precedence. Package-level smoke checks preserve minimum 14.0 or overridden 15.0 across both Muse and Audacity setup blocks. The final Linux Audacity build passed; native Darwin review is now running.

Keep a nonempty CMAKE_OSX_DEPLOYMENT_TARGET supplied by a caller or
toolchain. Otherwise use MACOSX_DEPLOYMENT_TARGET from the environment,
falling back to the existing 10.15.4 default when neither supplies a value.

Mirror the selected target into the ordinary MACOSX_DEPLOYMENT_TARGET
variable so bundle metadata agrees with the compiler deployment target.
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