diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/usd/003-fix-dep.patch | |
Diffstat (limited to 'vcpkg/ports/usd/003-fix-dep.patch')
| -rw-r--r-- | vcpkg/ports/usd/003-fix-dep.patch | 165 |
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) |