To facilitate shipping the python bindings for USD a few changes how we are dealing with libs had to be made.
- Turn USD into a shared lib, so the python modules USD generates can depend on it
- Turn Boost into a shared lib, since static boost::python will not work for USD
- Turn TBB into a shared lib
- Turn OpenSubDiv into a shared lib (Linux only, windows only supports static here)
- Update a whole bunch of unrelated deps (ie OSL) that some of their deps are shared libs now.
- Enable the USD python bindings
- Install the shared libs with blender
- Install the USD python bindings with blender
Current state:
Has some issues, but it's ready for the other platform devs to start shaking their sticks at this, given this is a big one, plan accordingly.
Windows:
- Initial pass for release libs are done, build, links, installs and the single helloworld.py USD script runs ok
- Todo: Debug libs
- Todo: Deal with both old and new style lib folders nicely
- Fix: IDiff not working due to it not finding a dll, breaking a whole bunch of tests
Linux:
- Initial pass is done done on my centos VM, it builds, links, installs and the single helloworld.py USD script runs OK, had hans test my build on his workstation and ran ok there.
- I helped it along the way quite a bit, i think i fixed all issues i ran into, but unsure till i try a completely clean build
- Have not tried the tests yet
- not super confident on the rpath shenanigans, borrowed from a diff xavier and sergey were working on for ONEAPI
Mac:
- Nothing is done, but the windows/linux changes are likely a good starting point.