Vend modular products as well as monolithic product
- Dominant language
- C++
- Stars
- 87
- Forks
- 14
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 1
Description
Currently in order to link with any of the OpenUSD xcframeworks, we only have the option of linking against the single monolithic `OpenUSD` product.
Would it be possible to add the various individual OpenUSD libraries into `products: []` so they can be linked against individually?
Consuming packages would then be able to do something like the following:
```swift
.target(
name: "MyLibrary",
dependencies: [
.product(name: "Usd_Arch", package: "SwiftUsd"),
.product(name: "Usd_Tf", package: "SwiftUsd"),
]
)
```
I would be happy to contribute this change, if you feel this would be a value add to the project.
Contributor guide
Research direction
Start with the Swift package manifest's products array and review how the existing monolithic OpenUSD product is declared. Add the individual OpenUSD libraries as separately consumable products, then verify that dependencies such as Usd_Arch and Usd_Tf can be selected by name instead of requiring the monolithic product.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, swift
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 66/100