TSC Meeting Notes 2021-02-25
Attending:
Cary Phillips
Christina Tempelaar-Lietz
Joseph Goldstone
Kimball Thurston
Larry Gritz
Nick Porcino
Peter Hillman
Discussion:
Larry: sorting out issues with identifying dependencies when you have more than one version of a library installed on a system. Our CI doesn't test this case. If OpenEXR is installed in /usr/include but you want to use another one, it's not getting the -I's in the right order.
Interop constructors:
Larry: I have a custom vector class that is already partially aware of Imath classes that's leading to compilation problems. Can probably get right of the old conversion constructs.
Nick: I just finished stripping out the last Eigen.
Larry: would like to test with MaterialX. They’re so far down their road that we probably can’t convince them to use Imath. But interop would be nice.
CLA's:
Christina: Epic is still in progress.
Kimball: Weta approval meeting is happening soon.
Joseph: No word from ARRI.
Symbol visibility:
Kimball: GitHub did something weird in rebasing/merging #868.
Linux is fine, Windows is fine, but macOS is not because it uses a different kind of multi-level symbol management. Not just clang, it’s specific to macOS.
Nick: Let's discuss with George ElKoura about what they did for USD.
Kimball: We should make the change in Imath. It's the Vec2,3,4 and Matrix classes that are the real issue.
Nick: still tripped up on the Windows install directory problem. If you specify an install directory, Imath libraries don’t go to the right place, they try to go to C:\Program FIles (x86)\Imath which is a cmake-ism for default installations, as opposed to a generally accepted best practice, in my opinion.
Nick: will look at the multiple python bindings.
Include path:
The modern "correct" thing to do is to #include <subdir/header.h> but most use of OpenEXR has never done this.
But at least the OpenEXR headers have Imf/Imath prefix strings, so it hasn't been a problem to install them in one directory.
Proposed fix: include -I for both include and include/OpenEXR.