mirror of https://github.com/microsoft/vcpkg.git
132 lines
5.6 KiB
Diff
132 lines
5.6 KiB
Diff
diff --git a/cmake/macros/Private.cmake b/cmake/macros/Private.cmake
|
|
index cddb4e0..3b06a87 100644
|
|
--- a/cmake/macros/Private.cmake
|
|
+++ b/cmake/macros/Private.cmake
|
|
@@ -1200,8 +1200,10 @@ function(_pxr_library NAME)
|
|
# XXX --- Why this difference?
|
|
_get_install_dir("plugin/usd" pluginInstallPrefix)
|
|
endif()
|
|
+ elseif(WIN32 AND args_TYPE STREQUAL "SHARED")
|
|
+ _get_install_dir("${CMAKE_INSTALL_BINDIR}/usd" pluginInstallPrefix)
|
|
else()
|
|
- _get_install_dir("lib/usd" pluginInstallPrefix)
|
|
+ _get_install_dir("${CMAKE_INSTALL_LIBDIR}/usd" pluginInstallPrefix)
|
|
endif()
|
|
if(args_SUBDIR)
|
|
set(pluginInstallPrefix "${pluginInstallPrefix}/${args_SUBDIR}")
|
|
@@ -1281,17 +1283,25 @@ function(_pxr_library NAME)
|
|
# Where do we install library to?
|
|
_get_install_dir("include" headerInstallDir)
|
|
_get_install_dir("include/${PXR_PREFIX}/${NAME}" headerInstallPrefix)
|
|
- _get_install_dir("lib" libInstallPrefix)
|
|
+ if(WIN32 AND args_TYPE STREQUAL "SHARED")
|
|
+ _get_install_dir("${CMAKE_INSTALL_BINDIR}" libInstallPrefix)
|
|
+ _get_install_dir("${CMAKE_INSTALL_LIBDIR}" libInstallPrefixArchive)
|
|
+ else()
|
|
+ _get_install_dir("${CMAKE_INSTALL_LIBDIR}" libInstallPrefix)
|
|
+ _get_install_dir("${CMAKE_INSTALL_LIBDIR}" libInstallPrefixArchive)
|
|
+ endif()
|
|
if(isPlugin)
|
|
if(NOT isObject)
|
|
# A plugin embedded in the monolithic library is found in
|
|
# the usual library location, otherwise plugin libraries
|
|
# are in the plugin install location.
|
|
set(libInstallPrefix "${pluginInstallPrefix}")
|
|
+ set(libInstallPrefixArchive "${pluginInstallPrefix}")
|
|
endif()
|
|
endif()
|
|
if(args_SUBDIR)
|
|
set(libInstallPrefix "${libInstallPrefix}/${args_SUBDIR}")
|
|
+ set(libInstallPrefixArchive "${libInstallPrefixArchive}/${args_SUBDIR}")
|
|
endif()
|
|
# Return libInstallPrefix to caller.
|
|
if(args_LIB_INSTALL_PREFIX_RESULT)
|
|
@@ -1423,8 +1433,8 @@ function(_pxr_library NAME)
|
|
# The former is for helper libraries for a third party application and
|
|
# the latter for core USD libraries.
|
|
_pxr_init_rpath(rpath "${libInstallPrefix}")
|
|
- _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/${PXR_INSTALL_SUBDIR}/lib")
|
|
- _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/lib")
|
|
+ _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/${PXR_INSTALL_SUBDIR}/${libInstallPrefix}")
|
|
+ _pxr_add_rpath(rpath "${CMAKE_INSTALL_PREFIX}/${libInstallPrefix}")
|
|
_pxr_install_rpath(rpath ${NAME})
|
|
|
|
#
|
|
@@ -1472,14 +1482,14 @@ function(_pxr_library NAME)
|
|
if(isPlugin)
|
|
install(
|
|
TARGETS ${NAME}
|
|
- LIBRARY DESTINATION ${libInstallPrefix}
|
|
- ARCHIVE DESTINATION ${libInstallPrefix}
|
|
- RUNTIME DESTINATION ${libInstallPrefix}
|
|
+ LIBRARY DESTINATION ${pluginInstallPrefix}
|
|
+ ARCHIVE DESTINATION ${pluginInstallPrefix}
|
|
+ RUNTIME DESTINATION ${pluginInstallPrefix}
|
|
)
|
|
if(WIN32)
|
|
install(
|
|
FILES $<TARGET_PDB_FILE:${NAME}>
|
|
- DESTINATION ${libInstallPrefix}
|
|
+ DESTINATION ${pluginInstallPrefix}
|
|
OPTIONAL
|
|
)
|
|
endif()
|
|
@@ -1488,7 +1498,7 @@ function(_pxr_library NAME)
|
|
TARGETS ${NAME}
|
|
EXPORT pxrTargets
|
|
LIBRARY DESTINATION ${libInstallPrefix}
|
|
- ARCHIVE DESTINATION ${libInstallPrefix}
|
|
+ ARCHIVE DESTINATION ${libInstallPrefixArchive}
|
|
RUNTIME DESTINATION ${libInstallPrefix}
|
|
)
|
|
if(WIN32)
|
|
@@ -1504,7 +1514,7 @@ function(_pxr_library NAME)
|
|
TARGETS ${NAME}
|
|
EXPORT pxrTargets
|
|
LIBRARY DESTINATION ${libInstallPrefix}
|
|
- ARCHIVE DESTINATION ${libInstallPrefix}
|
|
+ ARCHIVE DESTINATION ${libInstallPrefixArchive}
|
|
RUNTIME DESTINATION ${libInstallPrefix}
|
|
)
|
|
endif()
|
|
diff --git a/cmake/macros/Public.cmake b/cmake/macros/Public.cmake
|
|
index 5f6a545..83ff7d2 100644
|
|
--- a/cmake/macros/Public.cmake
|
|
+++ b/cmake/macros/Public.cmake
|
|
@@ -1068,6 +1068,17 @@ function(pxr_setup_plugins)
|
|
# top-level plugin area
|
|
_get_resources_dir_name(resourcesDir)
|
|
|
|
+ # Plug anchors its default search path to the directory holding the plug
|
|
+ # library and looks for "<that directory>/usd/plugInfo.json". The top
|
|
+ # level registry must therefore be installed next to the per-library
|
|
+ # resource trees, which _pxr_library places under the same directory the
|
|
+ # shared libraries themselves are installed to.
|
|
+ if(WIN32)
|
|
+ _get_install_dir("${CMAKE_INSTALL_BINDIR}/usd" pluginRegistryDir)
|
|
+ else()
|
|
+ _get_install_dir("${CMAKE_INSTALL_LIBDIR}/usd" pluginRegistryDir)
|
|
+ endif()
|
|
+
|
|
# Add extra plugInfo.json include paths to the top-level plugInfo.json,
|
|
# relative to that top-level file.
|
|
set(extraIncludes "")
|
|
@@ -1075,7 +1086,7 @@ function(pxr_setup_plugins)
|
|
foreach(dirName ${PXR_EXTRA_PLUGINS})
|
|
file(RELATIVE_PATH
|
|
relDirName
|
|
- "${CMAKE_INSTALL_PREFIX}/lib/usd"
|
|
+ "${CMAKE_INSTALL_PREFIX}/${pluginRegistryDir}"
|
|
"${CMAKE_INSTALL_PREFIX}/${dirName}"
|
|
)
|
|
set(extraIncludes "${extraIncludes},\n \"${relDirName}/\"")
|
|
@@ -1086,7 +1097,7 @@ function(pxr_setup_plugins)
|
|
"${plugInfoContents}")
|
|
install(
|
|
FILES "${CMAKE_CURRENT_BINARY_DIR}/plugins_plugInfo.json"
|
|
- DESTINATION lib/usd
|
|
+ DESTINATION "${pluginRegistryDir}"
|
|
RENAME "plugInfo.json"
|
|
)
|
|
|