-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[cmake] fix FindOpenEXR.cmake so it can deal with windows debug libs with _d suffix #1844
base: dev
Are you sure you want to change the base?
Conversation
This is a good solution for debug builds. Someday, not necessarily as part of this PR, it would be nice to engineer the find script to make an interface library, so that the debug and release information could both carried through the build. The use of _LIBRARIES convention stands in the way of creating vcproj files that can build for Release or Debug, but the interface library scheme does allow for it. OpenEXR 2.5 and greater set things up in the modern cmake way with namespaced OpenEXR and Imath interface libraries, and the script could pass that much richer information through as is. Unfortunately OpenEXR 2.4, which is in the vfxplatform until VFX2019, does not have this nicety, so we're going to need to maintain the find script for a few more years. Or issue a 2.4 maintenance release of OpenEXR.... hmmmm |
Larry Gritz made a much nicer Would be nice to migrate to that, but it has it's own license, plus it would need to be verified to work with USD, yada yada. It also currently doesn't really deal elegantly with the debug vs release libs things - it just adds in a check for libs with |
Filed as internal issue #USD-7345 |
c00f058
to
9d325ac
Compare
Updated this because I was going through old PRs... but given that:
...I actually think a better solution now might be to simply require OpenEXR >= 3.0, only look for the Imath package, and remove |
9d325ac
to
6ffbed7
Compare
Thank you for that note @pmolodo, you're correct that we don't need the Find script any more since OpenEXR now publishes working cmake config files! |
/AzurePipelines run |
Azure Pipelines successfully started running 1 pipeline(s). |
Updates OpenEXR dependency from v3.1.11 -> v3.1.13 - This was originally part of PR #3077 from @nvidia-jomiller Removes FindOpenEXR.cmake because OpenEXR now publishes its own config scripts which supersede a Find script. Fixes #585 Closes #1844 Closes #3077 (Internal change: 2349684)
Description of Change(s)
Default debug builds of OpenEXR 2.3.0 on windows create libraries with a "_d" suffix.
The current FindOpenEXR.cmake included with USD can't deal with this, and will therefore fail to find OpenEXR. This happens even with the supplied
build_usd.py
, if you try to build in debug mode on windows. This fix will work both withbuild_usd.py
, and with cmake builds with a user supplied OpenEXR.Fixes Issue(s)
USD can't find debug OpenEXR libs on windows
I have submitted a signed Contributor License Agreement