apple / apple/SwiftUsd

Vend modular products as well as monolithic product

Open
#27 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.