-
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
Debug build TBB and Python CMake issues #65
Comments
Filed as internal issue #137874. |
Getting Python to work in a debug build is super-super gross, because cmake expects a global configuration, and all the dependencies, including say PyImath if you are using OpenEXR, will all need to be globally debug-configured. This is simply going to fall over dead as soon as you try to actually use python, because the command line available python command line interpreter is not going to be a debug build. Where this is going to super-duper extra-special bite you is when you try to build a DCC plugin, because you won't be able to get Python-debug compiled version of Maya, or whatever. At ILM, we built Zeno with a modded pyconfig to suppress this, and you can observe a similar ... I hesitate to call a workaround for such a broken scheme a hack ... pattern in usd-build-club. https://github.com/vfxpro99/usd-build-club/blob/master/prerequisites-vc140-x64/pyconfig.h This ... hack ... suppresses the hideous _d convention and allows a debug configuration of USD to link against the release python. You'll see the same-ish ... hackery ... for tbb - https://github.com/vfxpro99/usd-build-club/blob/master/prerequisites-vc140-x64/tbb_config.h |
I always built USD in a release configuration. I added an option, PXR_HYBRID_BUILD_MODE, that would disable optimisations so that you can debug it. |
I like that. I personally like three configurations, I usually call them DEBUG, DEVELOP, RELEASE where DEVELOP is the one you mention. And obviously I like to hack Python integration to avoid the Debug bear trap. |
Hey Nick, So yeah your DEVELOP configuration is the same as my HYBRID configuration. Is this something you did for OSX too? It would be great to agree upon some standard. |
Not officially. I'm fine with any name. My logic on "develop" was that it describes the work you're doing, in the same same sense that "debug" and "release" describe what you're doing when you select that variant. |
System Information (OS, Hardware, etc.)
Windows
CMake fails to find tbb_debug.lib when it is present and attempts to use pythonXX_d.lib, even when it's not present.
The TBB issue is due to a hard coded string, which seems like it should be easy to fix, I'm not sure what's going on with Python.
The text was updated successfully, but these errors were encountered: