mirror of https://github.com/microsoft/vcpkg.git
170 lines
6.0 KiB
Diff
170 lines
6.0 KiB
Diff
diff --git a/cmake/defaults/Packages.cmake b/cmake/defaults/Packages.cmake
|
|
index 8742546462..16bc7306e1 100644
|
|
--- a/cmake/defaults/Packages.cmake
|
|
+++ b/cmake/defaults/Packages.cmake
|
|
@@ -172,7 +172,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")
|
|
@@ -190,7 +191,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
|
|
@@ -199,7 +205,7 @@ if (PXR_BUILD_IMAGING)
|
|
endif()
|
|
if (PXR_ENABLE_VULKAN_SUPPORT)
|
|
message(STATUS "Enabling experimental feature Vulkan support")
|
|
- if (EXISTS $ENV{VULKAN_SDK})
|
|
+ if (0)
|
|
find_package(Vulkan REQUIRED COMPONENTS shaderc_combined)
|
|
list(APPEND VULKAN_LIBS Vulkan::Vulkan Vulkan::shaderc_combined)
|
|
|
|
@@ -211,10 +217,14 @@ if (PXR_BUILD_IMAGING)
|
|
# No extra libs required
|
|
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
|
|
set(OPENSUBDIV_USE_GPU ${PXR_BUILD_GPU_SUPPORT})
|
|
diff --git a/pxr/imaging/hgiVulkan/CMakeLists.txt b/pxr/imaging/hgiVulkan/CMakeLists.txt
|
|
index e98893d3f0..772c3edb64 100644
|
|
--- a/pxr/imaging/hgiVulkan/CMakeLists.txt
|
|
+++ b/pxr/imaging/hgiVulkan/CMakeLists.txt
|
|
@@ -41,7 +41,6 @@ pxr_library(hgiVulkan
|
|
shaderProgram
|
|
shaderSection
|
|
texture
|
|
- vk_mem_alloc
|
|
|
|
PUBLIC_HEADERS
|
|
api.h
|
|
diff --git a/pxr/imaging/hgiVulkan/device.cpp b/pxr/imaging/hgiVulkan/device.cpp
|
|
index a1c44143a9..2ac706e89a 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 2e8f590646..7521f1f37e 100644
|
|
--- a/pxr/imaging/hgiVulkan/vulkan.h
|
|
+++ b/pxr/imaging/hgiVulkan/vulkan.h
|
|
@@ -35,7 +35,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 0a055b711d..de4b73a47d 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 b83cf3d730..611a29cbc1 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_m)
|
|
set(libs "usd_m")
|
|
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)
|