aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/usd/003-fix-dep.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/usd/003-fix-dep.patch')
-rw-r--r--vcpkg/ports/usd/003-fix-dep.patch165
1 files changed, 165 insertions, 0 deletions
diff --git a/vcpkg/ports/usd/003-fix-dep.patch b/vcpkg/ports/usd/003-fix-dep.patch
new file mode 100644
index 0000000..a20b3b0
--- /dev/null
+++ b/vcpkg/ports/usd/003-fix-dep.patch
@@ -0,0 +1,165 @@
+diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake
+index 1b69cad..9494278 100644
+--- a/cmake/defaults/Packages.cmake
++++ b/cmake/defaults/Packages.cmake
+@@ -178,7 +178,12 @@ if (PXR_BUILD_IMAGING)
+ if (POLICY CMP0072)
+ cmake_policy(SET CMP0072 OLD)
+ endif()
++ set(previous_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK})
++ if(APPLE) # Must find Apple OpenGL, not XQuartz OpenGL
++ set(CMAKE_FIND_FRAMEWORK FIRST)
++ endif()
+ find_package(OpenGL REQUIRED)
++ set(CMAKE_FIND_FRAMEWORK ${previous_CMAKE_FIND_FRAMEWORK})
+ add_definitions(-DPXR_GL_SUPPORT_ENABLED)
+ endif()
+ # --Metal
+@@ -155,7 +160,8 @@ if (PXR_BUILD_IMAGING)
+ # --OpenImageIO
+ if (PXR_BUILD_OPENIMAGEIO_PLUGIN)
+ set(REQUIRES_Imath TRUE)
+- find_package(OpenImageIO REQUIRED)
++ find_package(OpenImageIO CONFIG REQUIRED)
++ set(OIIO_LIBRARIES OpenImageIO::OpenImageIO)
+ add_definitions(-DPXR_OIIO_PLUGIN_ENABLED)
+ if (OIIO_idiff_BINARY)
+ set(IMAGE_DIFF_TOOL ${OIIO_idiff_BINARY} CACHE STRING "Uses idiff for image diffing")
+@@ -189,4 +195,4 @@ if (PXR_BUILD_IMAGING)
+- if (EXISTS $ENV{VULKAN_SDK})
++ if (0)
+ # Prioritize the VULKAN_SDK includes and packages before any system
+ # installed headers. This is to prevent linking against older SDKs
+ # that may be installed by the OS.
+@@ -215,8 +221,12 @@ if (PXR_BUILD_IMAGING)
+ endif()
+
+- add_definitions(-DPXR_VULKAN_SUPPORT_ENABLED)
+- else()
+- message(FATAL_ERROR "VULKAN_SDK not valid")
+ endif()
++ add_definitions(-DPXR_VULKAN_SUPPORT_ENABLED)
++ find_package(Vulkan REQUIRED)
++ find_package(unofficial-shaderc CONFIG REQUIRED)
++ find_package(VulkanMemoryAllocator CONFIG REQUIRED)
++ list(APPEND VULKAN_LIBS Vulkan::Vulkan)
++ list(APPEND VULKAN_LIBS unofficial::shaderc::shaderc)
++ list(APPEND VULKAN_LIBS GPUOpen::VulkanMemoryAllocator)
+ endif()
+ # --Opensubdiv
+diff --git a/pxr/imaging/hgiVulkan/CMakeLists.txt b/pxr/imaging/hgiVulkan/CMakeLists.txt
+index 00ad75448..dff475436 100644
+--- a/pxr/imaging/hgiVulkan/CMakeLists.txt
++++ b/pxr/imaging/hgiVulkan/CMakeLists.txt
+@@ -40,8 +40,7 @@ pxr_library(hgiVulkan
+ shaderProgram
+ shaderSection
+ texture
+- vk_mem_alloc
+
+ PUBLIC_HEADERS
+ api.h
+ vulkan.h
+diff --git a/pxr/imaging/hgiVulkan/device.cpp b/pxr/imaging/hgiVulkan/device.cpp
+index 08bf8e0a7..bfc368169 100644
+--- a/pxr/imaging/hgiVulkan/device.cpp
++++ b/pxr/imaging/hgiVulkan/device.cpp
+@@ -11,7 +11,8 @@
+ #include "pxr/imaging/hgiVulkan/hgi.h"
+ #include "pxr/imaging/hgiVulkan/instance.h"
+ #include "pxr/imaging/hgiVulkan/pipelineCache.h"
+-#include "pxr/imaging/hgiVulkan/vk_mem_alloc.h"
++#define VMA_IMPLEMENTATION
++#include <vk_mem_alloc.h>
+
+ #include "pxr/base/tf/diagnostic.h"
+
+diff --git a/pxr/imaging/hgiVulkan/vulkan.h b/pxr/imaging/hgiVulkan/vulkan.h
+index 1f527b9cb..b5ffd314f 100644
+--- a/pxr/imaging/hgiVulkan/vulkan.h
++++ b/pxr/imaging/hgiVulkan/vulkan.h
+@@ -24,7 +24,7 @@
+ #define VK_EXTERNAL_MEMORY_HANDLE_AUTO 0
+ #endif
+
+-#include "pxr/imaging/hgiVulkan/vk_mem_alloc.h"
++#include <vk_mem_alloc.h>
+
+ // Use the default allocator (nullptr)
+ inline VkAllocationCallbacks*
+diff --git a/pxr/imaging/plugin/hioOiio/CMakeLists.txt b/pxr/imaging/plugin/hioOiio/CMakeLists.txt
+index 0a055b7..de4b73a 100644
+--- a/pxr/imaging/plugin/hioOiio/CMakeLists.txt
++++ b/pxr/imaging/plugin/hioOiio/CMakeLists.txt
+@@ -7,6 +7,7 @@ if (NOT ${PXR_BUILD_GPU_SUPPORT})
+ return()
+ endif()
+
++if(0) # No need because OpenImageIO::OpenImageIO already declare its transitive dependencies correctly
+ # Use the import targets set by Imath's package config
+ if (Imath_FOUND)
+ set(__OIIO_IMATH_LIBS "Imath::Imath")
+@@ -14,6 +15,7 @@ else()
+ set(__OIIO_IMATH_INCLUDE ${OPENEXR_INCLUDE_DIRS})
+ set(__OIIO_IMATH_LIBS ${OPENEXR_LIBRARIES})
+ endif()
++endif()
+
+ pxr_plugin(hioOiio
+ LIBRARIES
+diff --git a/pxr/pxrConfig.cmake.in b/pxr/pxrConfig.cmake.in
+index a7e566bac..559f50b9c 100644
+--- a/pxr/pxrConfig.cmake.in
++++ b/pxr/pxrConfig.cmake.in
+@@ -18,6 +18,25 @@ set(PXR_VERSION "@PXR_VERSION@")
+
+ include(CMakeFindDependencyMacro)
+
++if(@PXR_BUILD_IMAGING@)
++ if(@PXR_BUILD_OPENIMAGEIO_PLUGIN@)
++ find_dependency(OpenImageIO CONFIG)
++ endif()
++ if(@PXR_ENABLE_GL_SUPPORT@)
++ find_dependency(OpenGL REQUIRED)
++ endif()
++ if(@PXR_ENABLE_VULKAN_SUPPORT@)
++ if (NOT DEFINED Vulkan_DIR)
++ if (NOT [[@Vulkan_DIR@]] STREQUAL "")
++ set(Vulkan_DIR [[@Vulkan_DIR@]])
++ endif()
++ endif()
++ find_dependency(Vulkan REQUIRED)
++ find_dependency(unofficial-shaderc CONFIG)
++ find_dependency(VulkanMemoryAllocator CONFIG)
++ endif()
++endif()
++
+ # If Python support was enabled for this USD build, find the import
+ # targets by invoking the appropriate FindPython module. Use the same
+ # LIBRARY and INCLUDE_DIR settings from the original build if they
+@@ -101,7 +120,7 @@ if(@Imath_FOUND@)
+ set(Imath_DIR [[@Imath_DIR@]])
+ endif()
+ endif()
+- find_dependency(Imath)
++ find_dependency(Imath CONFIG)
+ endif()
+
+ # If this build is using a custom work implementation, find the package
+@@ -115,14 +134,14 @@ if(NOT "@PXR_WORK_IMPL_PACKAGE@" STREQUAL "")
+ find_dependency(@PXR_WORK_IMPL_PACKAGE@)
+ endif()
+
+-include("${PXR_CMAKE_DIR}/cmake/pxrTargets.cmake")
++include("${PXR_CMAKE_DIR}/pxrTargets.cmake")
+ if (TARGET usd_ms)
+ set(libs "usd_ms")
+ else()
+ set(libs "@PXR_ALL_LIBS@")
+ endif()
+ set(PXR_LIBRARIES "")
+-set(PXR_INCLUDE_DIRS "${PXR_CMAKE_DIR}/include")
++set(PXR_INCLUDE_DIRS "${PXR_CMAKE_DIR}/../../include")
+ string(REPLACE " " ";" libs "${libs}")
+ foreach(lib ${libs})
+ get_target_property(location ${lib} LOCATION)