Commit: 86db35845a83b15f3b460fe878592ac6dd58a6dd
Author: Ray Molenkamp
Date:   Thu Jan 16 13:11:07 2020 -0700
Branches: master
https://developer.blender.org/rB86db35845a83b15f3b460fe878592ac6dd58a6dd

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}>")

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to