AcademySoftwareFoundation / OpenColorIO

A color management framework for visual effects and animation.
https://opencolorio.org
BSD 3-Clause "New" or "Revised" License
1.76k stars 437 forks source link

Build universal binaries for use on the macOS platform #1755

Closed doug-walker closed 1 year ago

doug-walker commented 1 year ago

Currently, OCIO's build system will build ARM libraries with the CMake option -DCMAKE_OSX_ARCHITECTURES=arm64. However, attempting to build a universal binary using the =arm64;x86_64 option fails. This task is to improve the build process to easily support macOS universal binaries (i.e., a library that will work on either Intel or ARM hardware).

creijon commented 1 year ago

Hi Doug, we're building OCIO 2.1.2 into USD universal binaries and aren't experiencing this issue. Which version of OCIO are you seeing it on?

remia commented 1 year ago

I also managed to build universal binaries in the past and that was used for Python wheels until recently. One thing I remember though is that at some point the SSE detection code started to break and try to use SSE for the ARM backend so I had to manually turn SSE off with OCIO_USE_SSE.

doug-walker commented 1 year ago

Thanks for the feedback @jonny-apple and @remia ! I logged this issue after doing a very quick test in 2.2.0. Glad to hear it's working for you both. Should be straight-forward to get this working. I will reach out if we have any trouble, once we start actually working on this task.

doug-walker commented 1 year ago

The work for this was done in PR #1775.