diff -x .git -ur usd.orig/cmake/defaults/Packages.cmake external_usd/cmake/defaults/Packages.cmake --- usd.orig/cmake/defaults/Packages.cmake 2019-10-24 22:39:53.000000000 +0200 +++ external_usd/cmake/defaults/Packages.cmake 2019-11-28 13:00:33.185957483 +0100 @@ -64,7 +64,7 @@ endif() # --TBB -find_package(TBB REQUIRED COMPONENTS tbb) +find_package(TBB) add_definitions(${TBB_DEFINITIONS}) # --math 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};\$") diff --git a/pxr/base/arch/align.h b/pxr/base/arch/align.h index f3cabf4..ebc8a69 100644 --- a/pxr/base/arch/align.h +++ b/pxr/base/arch/align.h @@ -77,7 +77,11 @@ ArchAlignMemory(void *base) /// The size of a CPU cache line on the current processor architecture in bytes. /// /// \hideinitializer +#if defined(ARCH_OS_DARWIN) && defined(ARCH_CPU_ARM) +#define ARCH_CACHE_LINE_SIZE 128 +#else #define ARCH_CACHE_LINE_SIZE 64 +#endif ///@} diff --git a/pxr/base/arch/math.h b/pxr/base/arch/math.h index 3e66c37..64a052c 100644 --- a/pxr/base/arch/math.h +++ b/pxr/base/arch/math.h @@ -42,7 +42,7 @@ PXR_NAMESPACE_OPEN_SCOPE /// \addtogroup group_arch_Math ///@{ -#if defined (ARCH_CPU_INTEL) || defined(doxygen) +#if defined (ARCH_CPU_INTEL) || defined(ARCH_CPU_ARM) || defined(doxygen) /// This is the smallest value e such that 1+e^2 == 1, using floats. /// True for all IEEE754 chipsets.