[Bf-blender-cvs] [4db9562246b] blender-v2.82-release: libs/windows: Prevent USD exports from leaking into blender binary.
Ray Molenkamp
noreply at git.blender.org
Tue Jan 21 17:47:38 CET 2020
Commit: 4db9562246b36d0d0d18a3f1b33b87f1d91fe146
Author: Ray Molenkamp
Date: Thu Jan 16 13:11:07 2020 -0700
Branches: blender-v2.82-release
https://developer.blender.org/rB4db9562246b36d0d0d18a3f1b33b87f1d91fe146
libs/windows: Prevent USD exports from leaking into blender binary.
Even though we build USD as static, it still feels the need to mark its
symbols with declspec(dllexport) which means the blender binary now exports
these symbols.
this patch fixes that unwanted behaviour, however USD libs still need to
rebuild before this becomes visible in the blender binary
Differential Revision: https://developer.blender.org/D6563
Reviewed By: sybren
===================================================================
M build_files/build_environment/patches/usd.diff
===================================================================
diff --git a/build_files/build_environment/patches/usd.diff b/build_files/build_environment/patches/usd.diff
index 0a98fa220b2..6302f13796b 100644
--- a/build_files/build_environment/patches/usd.diff
+++ b/build_files/build_environment/patches/usd.diff
@@ -121,3 +121,19 @@ diff -Naur external_usd_orig/pxr/base/lib/tf/preprocessorUtils.h external_usd/px
#define TF_PP_IS_TUPLE(sequence) \
BOOST_VMD_IS_TUPLE(sequence)
#else
+diff -Naur external_usd_base/cmake/macros/Public.cmake external_usd/cmake/macros/Public.cmake
+--- external_usd_base/cmake/macros/Public.cmake 2019-10-24 14:39:53 -0600
++++ external_usd/cmake/macros/Public.cmake 2020-01-11 13:33:29 -0700
+@@ -996,6 +996,12 @@
+ foreach(lib ${PXR_OBJECT_LIBS})
+ string(TOUPPER ${lib} uppercaseName)
+ list(APPEND exports "${uppercaseName}_EXPORTS=1")
++ # When building for blender, we do NOT want to export all symbols on windows.
++ # This is a dirty hack, but USD makes it impossible to do the right thing
++ # with the default options exposed.
++ if (WIN32)
++ list(APPEND exports "PXR_STATIC=1")
++ endif()
+ endforeach()
+ foreach(lib ${PXR_OBJECT_LIBS})
+ set(objects "${objects};\$<TARGET_OBJECTS:${lib}>")
More information about the Bf-blender-cvs
mailing list