Skip to content

Fix Issue #1902: Explicitly set CMAKE_OSX_DEPLOYMENT_TARGET to 15.0 - #1903

Draft
AustinBenoit wants to merge 1 commit into
mainfrom
fix-ios-minos-issue-1902
Draft

Fix Issue #1902: Explicitly set CMAKE_OSX_DEPLOYMENT_TARGET to 15.0#1903
AustinBenoit wants to merge 1 commit into
mainfrom
fix-ios-minos-issue-1902

Conversation

@AustinBenoit

Copy link
Copy Markdown
Contributor

Description

Explicitly set CMAKE_OSX_DEPLOYMENT_TARGET to 15.0 the minimum supported iOS version

Provide details of the change, and generalize the change in the PR title above.


Testing

Describe how you've tested these changes. Link any manually triggered Integration tests or CPP binary SDK Packaging Github Action workflows, if applicable.

Trigger integration tests plus pull down the built packages and make sure I don't get any warning.


Type of Change

Place an x the applicable box:

  • Bug fix. Add the issue # below if applicable.
  • New feature. A non-breaking change which adds functionality.
  • Other, such as a build process or documentation change.

Notes

  • Bug fixes and feature changes require an update to the Release Notes section of release_build_files/readme.md.
  • Read the contribution guidelines CONTRIBUTING.md.
  • Changes to the public API require an internal API review. If you'd like to help us make Firebase APIs better, please propose your change in a feature request so that we can discuss it together.

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request sets the minimum deployment target (CMAKE_OSX_DEPLOYMENT_TARGET) to 15.0 across iOS and tvOS build scripts, CMake configurations, and test scripts to resolve linker warnings. The reviewer suggests allowing this target to be overridden via the CMAKE_OSX_DEPLOYMENT_TARGET environment variable (defaulting to 15.0) in the build and GHA scripts to maintain flexibility for custom builds.

mkdir -p ${buildpath}/ios_build_file/${platform}-${arch} && cd ${buildpath}/ios_build_file/${platform}-${arch}
cmake -G Xcode -DCMAKE_SYSTEM_NAME=iOS \
${sysroot_arg} \
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \

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.

medium

Hardcoding the deployment target to 15.0 prevents developers from overriding it for custom builds (e.g., targeting a different iOS version). Allowing it to be overridden via an environment variable provides better flexibility.

Suggested change
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET:-15.0} \

echo "generate Makefiles start"
mkdir -p ${buildpath}/tvos_build_file/${platform}-${arch} && cd ${buildpath}/tvos_build_file/${platform}-${arch}
cmake -DCMAKE_SYSTEM_NAME=tvOS \
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \

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.

medium

Hardcoding the deployment target to 15.0 prevents developers from overriding it for custom tvOS builds. Allowing it to be overridden via an environment variable provides better flexibility.

Suggested change
-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0 \
-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET:-15.0} \

cmd.append('-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY={0}'.format(archive_output_path))
cmd.append('-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={0}'.format(archive_output_path))
cmd.append('-DCMAKE_RUNTIME_OUTPUT_DIRECTORY={0}'.format(archive_output_path))
cmd.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0')

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.

medium

Hardcoding the deployment target to 15.0 in the GHA build script prevents custom builds from targeting different iOS/tvOS versions. Reading from the CMAKE_OSX_DEPLOYMENT_TARGET environment variable with a default of '15.0' provides a consistent way to override this across all build scripts.

Suggested change
cmd.append('-DCMAKE_OSX_DEPLOYMENT_TARGET=15.0')
cmd.append('-DCMAKE_OSX_DEPLOYMENT_TARGET={0}'.format(os.environ.get('CMAKE_OSX_DEPLOYMENT_TARGET', '15.0')))

@AustinBenoit AustinBenoit added the tests-requested: quick Trigger a quick set of integration tests. label Aug 7, 2026
@github-actions github-actions Bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. labels Aug 7, 2026
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

❌  Integration test FAILED

Requested by @AustinBenoit on commit 57359b4
Last updated: Fri Aug 7 18:35 PDT 2026
View integration test log & download artifacts

Failures Configs
missing_log [TEST] [ERROR] [Android] [All 3 os] [1/2 android_device: android_target]
auth [TEST] [FAILURE] [Windows] [x64] [openssl]
(1 failed tests)  FirebaseAuthTest.TestUpdateUserProfile
firestore [TEST] [FLAKINESS] [Android] [1/3 os: windows] [1/2 android_device: emulator_ftl_target]
(1 failed tests)  CRASH/TIMEOUT

Add flaky tests to go/fpl-cpp-flake-tracker

@github-actions github-actions Bot added the tests: failed This PR's integration tests failed. label Aug 7, 2026
@firebase-workflow-trigger firebase-workflow-trigger Bot removed the tests: in-progress This PR's integration tests are in progress. label Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests: failed This PR's integration tests failed.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant