-
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
pxrTargets.cmake wanting import libraries when there are none #530
Comments
Filed as internal issue #161891. |
To fix that all plugin libraries should be added as Fixing that requires venturing into the depths of pxr build system, and that place is scary. |
@sopvop Thanks for the commit against this bug. Should usdObj, as mentioned in the initial report, also have been fixed in the same way that hdStream has been? |
Oh no, that commit actually breaks build completely. It was pushed by accident. If you just change it from To fix this issue you either have to force MSVC to generate empty import library somehow, or also check if python module will be build for this plugin. If python modules is being build then do |
UsdAbc has two symbols exported, in alembicTest.h. Probably the best fix is to add something exportable to UsdObj as well. At this point hdStream has a lot of exports, so hopefully Usd >= 0.89 doesn't have a problem with HdSt? |
Rather than add dummy symbols to export, I would propose that we update the build system so that plugins that are built via pxr_plugin are just excluded from the generated pxrConfig.cmake and pxrTargets.cmake.files. These include: usdAbc The key distinction with these plugins is that they're not intended to be linked against by client code, so it doesn't make sense (AFAICT) to include them in the list of targets exported by cmake. (*) hdStream isn't built using pxr_plugin but we think this is an oversight and it should be. |
Just wondering if there has been any more inside development made on this issue? I was just testing 19.05, and encountered the same problem again with hdStream. I also now see it for usdShaders too. Thanks. |
Hi @foundry-markf -- no I don't think we've had a chance to do anything about this, but would happily take a PR with @sunyab's suggestion in mind though. |
Hi, I'm having the same issue when trying to build https://github.com/Autodesk/maya-usd I removed all the references to:
in the pxrConfig.cmake, cmake/pxrTargets.cmake and cmake/pxrTargets-release.cmake files. Would be fantastic to have a clean fix for that. Cheers, Thomas |
@sunyab Is the fix as simple as changing these lines in function(pxr_library) from
to this?
Ultimately the pxrConfig.cmake file is populated by substituting PXR_ALL_LIBS in pxrConfig.cmake.in, so this would seem like a direct fix. I'm not set up to test this at the moment, but I think this is what I interpret from your comment. |
@meshula -- we have a fix incoming; what you hae was part of it, but we discovered another part of the build that needed to be guarded as well. |
Does the referenced commit resolve the issue for usdShaders, given that that library is not declared as a plugin? Can we simply change it to be declared as such? |
@danlea Thanks. We did move |
See #530 (Internal change: 2014160)
See PixarAnimationStudios#530 (Internal change: 2014160)
…sea/OGSMOD-3499 OGSMOD-3499: Fix Failed iOS Unit Test Cases (part2)
Description of Issue
I have built USD 0.8.5a with VisualStudio 2015 using the provided build_usd.py script.
I tried to use the cmake config files in the install folder by including them into my CMakeLists.txt file, and resulted in errors looking for DLL import libraries for two DLLs that have no symbol exports (hence the import libs don't exist). The two DLLs are hdStream and usdObj.
Steps to Reproduce
cmake -DCMAKE_MODULE_PATH=<USD install dir> .
list(APPEND _IMPORT_CHECK_FILES_FOR_hdStream "${_IMPORT_PREFIX}/lib/hdStream.lib" "${_IMPORT_PREFIX}/lib/libhdStream.dll" )
in
<USD install dir>/cmake/pxrTargets-release.cmake
.list(APPEND _IMPORT_CHECK_FILES_FOR_usdObj "${_IMPORT_PREFIX}/share/usd/examples/plugin/usdObj.lib" "${_IMPORT_PREFIX}/share/usd/examples/plugin/usdObj.dll" )
in<USD install dir>/cmake/pxrTargets-release.cmake
.System Information (OS, Hardware)
Windows 10, VisualStudio 2015
Package Versions
0.8.5a
Build Flags
All defaults
The text was updated successfully, but these errors were encountered: