diff --git a/cmake/macros/Private.cmake b/cmake/macros/Private.cmake index 0acc15a450..39fdbf5bca 100644 --- a/cmake/macros/Private.cmake +++ b/cmake/macros/Private.cmake @@ -1202,11 +1202,16 @@ function(_pxr_library NAME) else() # Building an explicitly shared library or plugin. - add_library(${NAME} - SHARED - ${args_CPPFILES} - ${args_PUBLIC_HEADERS} - ${args_PRIVATE_HEADERS} + if(isPlugin) + add_library(${NAME} MODULE) + else() + add_library(${NAME} SHARED) + endif() + target_sources(${NAME} + PRIVATE + ${args_CPPFILES} + ${args_PUBLIC_HEADERS} + ${args_PRIVATE_HEADERS} ) if(PXR_PY_UNDEFINED_DYNAMIC_LOOKUP) # When not explicitly linking to the python lib we need to allow @@ -1431,6 +1436,7 @@ function(_pxr_library NAME) if(isPlugin) install( TARGETS ${NAME} + EXPORT pxrTargets LIBRARY DESTINATION ${pluginInstallPrefix} ARCHIVE DESTINATION ${pluginInstallPrefix} RUNTIME DESTINATION ${pluginInstallPrefix}