Conversation
d140266 to
2bda389
Compare
|
Filed as internal issue #USD-9301 |
This requires PixarAnimationStudios#2949 to be merged first as that introduces core iOS support first
This requires PixarAnimationStudios#2949 to be merged first as that introduces core iOS support first
1466fc3 to
c317892
Compare
This requires PixarAnimationStudios#2949 to be merged first as that introduces core iOS support first
This requires PixarAnimationStudios#2949 to be merged first as that introduces core iOS support first
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Swaps ARCH_OS_IOS for ARCH_OS_IPHONE to align with compiler directives. TARGET_OS_IPHONE refers to all derivative platforms whereas iOS refers only to iPhone/iPad (Confusing but the case for historical reasons as documented in TargetConditionals.h within any Apple SDK). Contribution: Dhruv Govil See #2949 (Internal change: 2321624)
Use Metal shader source for macOS and all Apple embedded systems. Contribution: Dhruv Govil, Thor Hjalmarsson Fixes #2949 (Internal change: 2322695)
|
@jesschimein or @meshula for whenever y'all are back, I just wanted to make a note so I can check in on the build_usd.py and apple_utils.py changes in this PR that didn't make it into 24.5. Should I split it out into a separate PR? I think I'd missed that 24.5 was targeting just the CMake + C++ side of things. I'm just not sure how y'all want to handle the remainder of this PR. |
|
@dgovil There are some additional notes from internal code review that we want to address before merging the build script changes, but I think we can keep those associated with this PR for now. |
|
Sounds good. Thanks! |
|
Reopened, as the noted commit only partially addressed the PR. |
6f1bb3a to
233f5cc
Compare
|
@davidgyu and @meshula This PR has been rebased against the latest in
|
451dc1e to
610664e
Compare
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
I'm just fixing up a few other oddities I'm finding.
I'll report back when I fix the TBB thing. But right now it works if you set the build mode to debug. |
|
Okay, should be good now. TBB needs an extra arg called With the two changes above, USD for iOS should build as easily as
|
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.
|
@davidgyu I just added https://github.com/PixarAnimationStudios/OpenUSD/pull/2949/commits/3cc8aa4b88b551a70c3a464920d90731a8ebf7eewhich adds the CMake code signing attributes to the CMake arguments so that even dependencies get code signed during their build if code signing is enabled. In theory it isn't strictly related to this PR (as it should have been happening for macOS as well) but this brings it inline here |
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.
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.
|
Rebased on top of latest from dev |
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.
|
/AzurePipelines run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Description of Change(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. As requested, MaterialX support was also removed and will be uploaded in a separate PR.
While the build_usd.py script only supports iPhone, this change also does make it possible for the main CMake build to target other Apple platforms as long as the developer can build the dependencies themselves.
It is a minimal version of Thor's work in #2455 against the latest
devbranch.Changes include:
ARCH_OS_IOSwithARCH_OS_IPHONEto 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 or inTargetConditionals.hwithin any Apple SDK)import apple_utilsout from under a platform check, because the module import shouldn't be platform specific, and it removes the need for unnecessary platform checks all over the placeAPPLE_EMBEDDEDcmake parameter in Options.cmake so that it can be used to configure options further down the build setup