aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/usd/004-fix_cmake_package.patch
blob: ad042d1239356421563a445c1408bf08a8c6dbc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
diff --git a/pxr/CMakeLists.txt b/pxr/CMakeLists.txt
index b735c86ea..d30354114 100644
--- a/pxr/CMakeLists.txt
+++ b/pxr/CMakeLists.txt
@@ -23,7 +23,8 @@ endif()
 
 pxr_core_epilogue()
 
-export(PACKAGE pxr)
+include(GNUInstallDirs)
+include(CMakePackageConfigHelpers)
 
 # XXX:
 # Libraries specify the TBB::tbb target to link against TBB. This target
@@ -59,11 +60,28 @@ foreach(property IN ITEMS
     endif()
 endforeach()
 
-configure_file(pxrConfig.cmake.in
-  "${PROJECT_BINARY_DIR}/pxrConfig.cmake" @ONLY)
-install(FILES
+configure_file(
+  "pxrConfig.cmake.in"
   "${PROJECT_BINARY_DIR}/pxrConfig.cmake"
-  DESTINATION "${CMAKE_INSTALL_PREFIX}"
+  @ONLY
 )
 
-install(EXPORT pxrTargets DESTINATION "cmake")
+write_basic_package_version_file("${PROJECT_BINARY_DIR}/pxrConfigVersion.cmake"
+  VERSION "${PXR_MAJOR_VERSION}.${PXR_MINOR_VERSION}.${PXR_PATCH_VERSION}"
+  COMPATIBILITY AnyNewerVersion
+)
+
+install(
+    FILES
+      "${PROJECT_BINARY_DIR}/pxrConfig.cmake"
+      "${PROJECT_BINARY_DIR}/pxrConfigVersion.cmake"
+
+    DESTINATION
+      "${CMAKE_INSTALL_DATADIR}/pxr"
+)
+
+install(
+    EXPORT      pxrTargets
+    # NAMESPACE   "pxr::"
+    DESTINATION "${CMAKE_INSTALL_DATADIR}/pxr"
+)