Skip to content

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
@johnhaddon johnhaddon merged commit f547c6f into ImageEngine:RB-10.5 Nov 18, 2024
5 checks passed
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.

2 participants