Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple: Core visionOS Support #3052

Closed
wants to merge 3 commits into from

Conversation

dgovil
Copy link
Collaborator

@dgovil dgovil commented Apr 23, 2024

Description of Change(s)

This PR builds on the Core iOS support PR to add support for building the USD core for visionOS.

Thanks to Valentin Roussellet for the basis of the TBB patch.

It includes the following changes:

  • Use CMake 3.28 (which adds visionOS support)
  • Patch TBB to support visionOS. Note that clang requires new platforms to be provided via the target triplet.
  • Add visionOS to the accepted platforms.

Note that visionOS's SDK is called xros, much like how the iOS SDK is iphoneos for historical reasons.

  • I have verified that all unit tests pass with the proposed changes
  • I have submitted a signed Contributor License Agreement

@jesschimein
Copy link
Contributor

Filed as internal issue #USD-9587

@jesschimein
Copy link
Contributor

/AzurePipelines run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

This PR adds **Core** iOS support to the OpenUSD project. This does not include Imaging, and any Imaging related components at this time. Imaging will be added in a follow up PR. MaterialX is also disabled as requested and the upgrade will be handled in a follow up PR.

It is a minimal version of PixarAnimationStudios#2455 against the latest `dev` branch.
Changes include:
* Using latest dev branch
* No imaging support. Will be added in a follow up PR.
* Makes use of CMake's inbuilt iOS support, negating the need for toolchain support
* Structures the code in such a way that we can add support for other iOS derived platforms+simulator in future PRs
* Swaps `ARCH_OS_IOS` with `ARCH_OS_IPHONE` to align with compiler directives. IPHONE refers to all derivative platforms, whereas iOS refers to only iPhone/iPad (Confusing but the case for historical reasons as [documented here](https://chaosinmotion.com/2021/08/02/things-to-remember-compiler-conditionals-for-macos-ios-etc/))
* TBB requires SDKROOT to be passed in or it can often go off and find some random compiler toolchain and fail.
* Add APPLE_EMBEDDED boolean to designate when using the CMake supported cross compilation targets. Added in Options.cmake so it can be used to configure defaults properly.
This PR builds on the [Core iOS support PR](PixarAnimationStudios#2949) to add support for building the USD core for visionOS.

Thanks to Valentin Roussellet for the basis of the TBB patch.

It includes the following changes:

* Use CMake 3.28 (which adds visionOS support)
* Patch TBB to support visionOS. Note that clang requires new platforms to be provided via the target triplet.
* Add visionOS to the accepted platforms.

Note that  visionOS's SDK is called xros, much like how the iOS SDK is iphoneos for historical reasons.
@dgovil
Copy link
Collaborator Author

dgovil commented Jun 18, 2024

Rebased on top of latest dev/ios_core

@jesschimein
Copy link
Contributor

/AzurePipelines run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@pixar-oss pixar-oss closed this in 6589b16 Jul 25, 2024
@davidgyu davidgyu mentioned this pull request Oct 28, 2024
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants