Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mac CI #1445

Open
wants to merge 4 commits into
base: RB-10.5
Choose a base branch
from
Open

Mac CI #1445

wants to merge 4 commits into from

Conversation

murraystevenson
Copy link
Collaborator

This makes the minor adjustments necessary to get Cortex building with modern Xcode and reinstate macOS CI jobs, though only on arm64. I've tested a range of Xcode versions and have had success building locally with Xcode 14.3.1, 15.3.0, and 16.1.0, and with Xcode 15.4.0 on GitHub's macos-14 runner image.

While we are publishing build artifacts from the macos-arm64 CI runs, these builds lack signing and notarization so are published chiefly for our own use. Making these build artifacts available, even in their current state, paves the way towards re-establishing Gaffer CI runs on macOS.

Xcode 15's new linker now complains when asked to link to the same library multiple times. I've removed the duplicates from the modules required to build a regular Cortex release, though I haven't touched the DCC specific modules. If the existing duplicate library specification turns out to be necessary for other platforms, we could alternately disable the linker warning here with `-no_warn_duplicate_libraries`.

The new linker also complains that the `-single_module` flag is obsolete. `-single_module` became the default behaviour way back in OSX 10.4, so we should be fairly safe to remove it here.

Disabling FMA via `--ffp-contract=off` fixes a test failure with `MeshPrimitiveEvaluator.pointAtUV()` returning an incorrect value in `TestMeshPrimitive.testPlane()`. Curiously, even with `--ffp-contract=off`, this test still fails when run on a virtualized instance of macOS. GitHub's macOS runners are vitualized, so we'll end up skipping this test when we enable macOS CI...
These builds lack signing and notarization and are published chiefly for our own use. Making the build artifacts available, even in their current state, paves the way towards re-establishing Gaffer CI runs on macOS.
@murraystevenson murraystevenson self-assigned this Nov 16, 2024
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