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

Updated the build doc! #208

Merged
merged 3 commits into from
Jan 22, 2020
Merged

Conversation

HamedSabri-adsk
Copy link
Contributor

Hi @BigRoy,

we have updated the build docs to make it more clear for devs to build the project. Would be nice if you have a look at it in case something is not clear.

@mattyjams there is a bug that I recently found with build_usd.py that has something to do with ordering of certain build arguments that are passed in ( e.g key/value pair options )

python build_usd.py --build-args boost,"--with-date_time --with-thread --with-system --with-filesystem" /usr/local/USD

Bad build_usd.py: error: too few arguments

V.S

python build_usd.py /usr/local/USD --build-args boost,"--with-date_time --with-thread --with-system --with-filesystem" 

Good scripts runs happily!

Copy link
Contributor

@BigRoy BigRoy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking good. I haven't actually tried to build it (using these new docs) but here's some comments of what stood out to me as read over the build.md file.

doc/build.md Outdated
Comment on lines 32 to 35
#### 3. Download Universal Front End (UFE)

The Universal Front End (UFE) is a DCC-agnostic component that allows Maya to browse and edit data in multiple data models. This allows Maya to edit pipeline data such as USD.
UFE is developed as a separate binary component, and is therefore versioned separately from Maya. UFE is installed as a built-in component of Maya.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reads a bit odd. It reads as if you need to download the full UFE technology for Maya but that hasn't been the case before, has that changed? If so, where's the download for that binary component?

How about changing:

UFE is developed as a separate binary component, and is therefore versioned separately from Maya. UFE is installed as a built-in component of Maya.

To:

UFE comes installed as a built-in component with Maya. However UFE is developed as a separate binary component, and is therefore versioned separately from Maya. To enable the Maya UFE support you will need to link to the UFE headers included in the Maya Devkit.

Of course correct me if I'm wrong. ;)

Also, if UFE has its own versioning is it supposed to be in the compatibility list at the top too? Maybe not if they are all compatible.

doc/build.md Outdated
python build.py --build-args="-DBUILD_ADSK_PLUGIN=ON,-DBUILD_PXR_PLUGIN=OFF"
➜ maya-usd python build.py --maya-location /usr/autodesk/maya2020 --pxrusd-location /usr/local/USD-Master /usr/local/workspace
➜ maya-usd python build.py --maya-location /Applications/Autodesk/maya2020 --pxrusd-location /opt/local/USD-Master /opt/local/workspace
c:\maya-usd> python build.py --maya-location "C:\Program Files\Autodesk\maya2020" --pxrusd-location C:\USD-Master C:\workspace
Copy link
Contributor

@BigRoy BigRoy Jan 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The default Maya install location folder is with an uppercase M for Maya2020 on Windows. Does that matter?

doc/build.md Outdated

It is important that the version between ```Pixar USD``` and ```Maya USD plugin```match. We are currently using ```v19.05``` for Maya plugin in ```master``` branch and therefore ```Pixar USD``` build should match this version.
Pixar has recently removed support for building Maya USD libraries and plug-ins in their ```build_usd.py```. When building USD, it is important that the ```Pixar USD``` and ```Maya USD plug-in``` versions match. Consult the source versions table in the [Developer](DEVELOPER.md) document.
Copy link
Contributor

@BigRoy BigRoy Jan 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason the USD version compatibility is still in a separate file? Wouldn't it make sense to have that in the compatibility list at the top of this file too?

doc/build.md Outdated
set MAYA_MODULE_PATH=C:\workspace\install\RelWithDebInfo
export MAYA_MODULE_PATH=/usr/local/workspace/install/RelWithDebInfo
```
Once MAYA_MODULE_PATH is set, run maya and go to ```Windows->Setting/Preferences-->Plug-in Manager``` to load the plugins.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason the arrows differ -> and -->? If not, maybe pick either one of the two. And maybe add some spaces for readability. E.g.

Windows -> Setting/Preferences -> Plug-in Manager

@mattyjams
Copy link
Contributor

@HamedSabri-adsk: About the build_usd.py problem, I think that kind of makes sense. My guess is that it's because the --build-args option uses nargs="*". That likely sucks up everything it sees until it sees another known option, so what should be the install directory ends up getting turned into a bogus build arg. With no other positional arguments, that's the thing the script complains about first before it gets to the point of validating the build args.

The safest thing is probably just to suggest that --build-args go at the very end of your build_usd.py command.

Copy link
Contributor

@mattyjams mattyjams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just two super-minor suggestions in addition to @BigRoy's feedback, but otherwise looks good to me!

doc/build.md Outdated
Comment on lines 64 to 66
➜ maya-usd python build.py --maya-location /usr/autodesk/maya2020 --pxrusd-location /usr/local/USD-Master /usr/local/workspace
➜ maya-usd python build.py --maya-location /Applications/Autodesk/maya2020 --pxrusd-location /opt/local/USD-Master /opt/local/workspace
c:\maya-usd> python build.py --maya-location "C:\Program Files\Autodesk\maya2020" --pxrusd-location C:\USD-Master C:\workspace
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to make it extra obvious, maybe add # <platform name> comment lines before each of these commands (Linux, Mac, Windows)?

doc/build.md Outdated
```python build_usd.py --build-args boost,"--with-date_time --with-thread --with-system --with-filesystem" --no-maya ~/Desktop/BUILD```
```
python build_usd.py ~/Desktop/BUILD --build-args boost,"--with-date_time --with-thread --with-system --with-filesystem"
```

##### Python:

Some DCCs (most notably, Maya) may ship with and run using their own version of Python. In that case, it is important that USD and the plugins for that DCC are built using the DCC's version of Python and not the system version. Note that this is primarily an issue on macOS, where a DCC's version of Python is likely to conflict with the version provided by the system.
Copy link
Contributor

@mattyjams mattyjams Jan 18, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The way this was worded made more sense when it was in the core USD repo. The DCC in this context is obviously Maya, so this could probably be adjusted. Just dropping the first sentence and replacing "DCC" with "Maya" will probably get most of the way there.

…d doc.

- Updated the build doc based on the review feedbacks.
@HamedSabri-adsk
Copy link
Contributor Author

@BigRoy @mattyjams Thank you both for great feedbacks!!

| CommitID/tag | ceca736(>19.11) | 631a2911(>0.34.0) |


For additional information on building Pixar USD, see the ***Additional Build Instruction*** section below.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

USD version compatibility is now in the same page. Additional information on building Pixar USD can also be found in the same page under Additional Build Instruction section.

| plugin/adsk | The Autodesk Maya plugin |
| plugin/pxr | The Pixar Maya plugin |
| plugin/al | The Animal Logic Maya plugin |

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Repository layout table was brought in from DEVELOPER.md.

doc/build.md Outdated

https://www.autodesk.com/developer-network/platform-technologies/maya
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BigRoy I changed the wording a little bit and hopefully it makes more sense?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely clearer to me! Lgtm.


To build USD and the Maya plug-ins on macOS for Maya(2018,2019,2020), run:
To build USD and the Maya plug-ins on MacOS for Maya(2018,2019,2020), run:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattyjams I changed the wording a little bit and hopefully it makes more sense?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me, thanks!

@HamedSabri-adsk HamedSabri-adsk merged commit f955739 into dev Jan 22, 2020
@HamedSabri-adsk HamedSabri-adsk deleted the sabrih/MAYA-102865/update_build_doc branch January 22, 2020 00:15
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.

3 participants