@@ -14,17 +14,17 @@ Advanced Build Configuration
1414
1515## Building With CMake
1616
17- Users may specify libraries to build USD against and other build options by
17+ Users may specify libraries to build USD against and other build options by
1818passing arguments when running cmake. Documentation for these arguments
1919are below.
2020
2121Some examples:
2222
23- #### On Linux
23+ #### On Linux
2424
2525``` bash
2626cmake \
27- -DTBB_ROOT_DIR=/path/to/tbb \
27+ -DTBB_ROOT_DIR=/path/to/tbb \
2828-DOPENEXR_LOCATION=/path/to/openexr \
2929-DOPENSUBDIV_ROOT_DIR=/path/to/opensubdiv \
3030-DPTEX_LOCATION=/path/to/ptex \
@@ -42,7 +42,7 @@ The following will generate an Xcode project that can be used to build USD.
4242``` bash
4343cmake \
4444-G " Xcode" \
45- -DTBB_ROOT_DIR=/path/to/tbb \
45+ -DTBB_ROOT_DIR=/path/to/tbb \
4646-DOPENEXR_LOCATION=/path/to/openexr \
4747-DOPENSUBDIV_ROOT_DIR=/path/to/opensubdiv \
4848-DPTEX_LOCATION=/path/to/ptex \
@@ -55,7 +55,7 @@ cmake --build . --target install -- -j <NUM_CORES>
5555
5656#### On Windows
5757
58- The following will generate a Visual Studio 2015 solution that can be used to
58+ The following will generate a Visual Studio 2015 solution that can be used to
5959build USD.
6060
6161``` cmd.exe
@@ -70,7 +70,7 @@ build USD.
7070\path\to\USD\source
7171
7272cmake --build . --target install -- /m:%NUMBER_OF_PROCESSORS%
73- ```
73+ ```
7474
7575## Optional Components
7676
@@ -80,20 +80,20 @@ removes the need for their dependencies when building USD.
8080
8181##### Python
8282
83- Python support in USD refers to:
83+ Python support in USD refers to:
8484- [ The USD Toolset] ( https://graphics.pixar.com/usd/docs/USD-Toolset.html )
8585- [ Third Party Plugins] ( https://graphics.pixar.com/usd/docs/USD-3rd-Party-Plugins.html )
8686- Python language bindings for the USD C++ API
8787- Unit tests using Python
8888
89- Support for Python can optionally be disabled by specifying the cmake flag
89+ Support for Python can optionally be disabled by specifying the cmake flag
9090``` PXR_ENABLE_PYTHON_SUPPORT=FALSE ``` .
9191
9292##### Documentation
9393
94- Doxygen documentation can optionally be generated by specifying the cmake flag
94+ Doxygen documentation can optionally be generated by specifying the cmake flag
9595``` PXR_BUILD_DOCUMENTATION=TRUE ``` . The additional dependencies that must
96- be supplied for enabling documentation generation are:
96+ be supplied for enabling documentation generation are:
9797
9898| Dependency Name | Description | Version |
9999| ------------------ | ----------------------------------------------------------------------- | ------- |
@@ -105,7 +105,7 @@ be supplied for enabling documentation generation are:
105105
106106This component contains Hydra, a high-performance graphics rendering engine.
107107
108- Disable this component by specifying the cmake flag ``` PXR_BUILD_IMAGING=FALSE ``` when
108+ Disable this component by specifying the cmake flag ``` PXR_BUILD_IMAGING=FALSE ``` when
109109invoking cmake. Disabling this component will also disable the [ USD Imaging] ( #usd-imaging )
110110component and any [ Imaging Plugins] ( #imaging-plugins ) .
111111
@@ -140,7 +140,7 @@ Embree 2.16.1. The additional dependencies that must be supplied when invoking c
140140## Third Party Plugins
141141
142142USD provides several plugins for integration with third-party software packages,
143- including Maya, Katana, Houdini, and Alembic. There is additional documentation on each plugin
143+ including Maya, Katana, Houdini, and Alembic. There is additional documentation on each plugin
144144[ here] ( http://openusd.org/docs/USD-3rd-Party-Plugins.html ) .
145145These plugins are not built by default and must be enabled via the instructions below.
146146
@@ -167,7 +167,7 @@ For further information see the documentation on the Alembic plugin [here](http:
167167
168168##### Maya Plugin
169169
170- Enable the Maya plugin in the build by specifying the cmake flag ``` PXR_BUILD_MAYA_PLUGIN=TRUE ```
170+ Enable the Maya plugin in the build by specifying the cmake flag ``` PXR_BUILD_MAYA_PLUGIN=TRUE ```
171171when invoking cmake. This plugin is compatible with Maya 2016. The additional dependencies that must be supplied when invoking cmake are:
172172
173173| Dependency Name | Description | Version |
@@ -179,7 +179,7 @@ For further information see the documentation on the Maya plugin [here](http://o
179179
180180##### Katana Plugin
181181
182- Enable the Katana plugin in the build by specifying the cmake flag ``` PXR_BUILD_KATANA_PLUGIN=TRUE ```
182+ Enable the Katana plugin in the build by specifying the cmake flag ``` PXR_BUILD_KATANA_PLUGIN=TRUE ```
183183when invoking cmake. This plugin is compatible with Katana 2.5v1. The additional dependencies that must be supplied when invoking cmake are:
184184
185185| Dependency Name | Description | Version |
@@ -190,7 +190,7 @@ For further information see our additional documentation on the Katana plugins [
190190
191191##### Houdini Plugin
192192
193- Enable the Houdini plugin in the build by specifying the cmake flag ``` PXR_BUILD_HOUDINI_PLUGIN=TRUE ```
193+ Enable the Houdini plugin in the build by specifying the cmake flag ``` PXR_BUILD_HOUDINI_PLUGIN=TRUE ```
194194when invoking cmake. This plugin is compatible with Houdini 16.0. The additional dependencies that must be supplied when invoking cmake are:
195195
196196| Dependency Name | Description | Version |
@@ -201,7 +201,7 @@ For further information see our additional documentation on the Houdini plugins
201201
202202## Tests
203203
204- Disable unit testing and prevent tests from being built by specifying the cmake flag ``` PXR_BUILD_TESTS=FALSE ```
204+ Disable unit testing and prevent tests from being built by specifying the cmake flag ``` PXR_BUILD_TESTS=FALSE ```
205205when invoking cmake.
206206
207207## Other Build Options
@@ -210,26 +210,37 @@ when invoking cmake.
210210
211211Each library in the USD core generally has an associated file named 'plugInfo.json' that contains metadata about that library,
212212such as the schema types provided by that library. These files are consumed by USD's internal plugin system to lazily load
213- libraries when needed.
213+ libraries when needed.
214214
215215The plugin system requires knowledge of where these metadata files are located. The cmake build will ensure this is set up
216216properly based on the install location of the build. However, if you plan to relocate these files to a new location after
217217the build, you must inform the build by setting the cmake variable ``` PXR_INSTALL_LOCATION ``` to the intended final
218218directory where these files will be located. This variable may be a ':'-delimited list of paths.
219219
220+ Another way USD is locating plugins is the ``` PXR_PLUGINPATH_NAME ``` environment variable. This variable
221+ may be a list of paths. If you do not want your USD build to use this default variable name, you can override the name
222+ of the environment variable using the following CMake option:
223+
224+ ```
225+ -DPXR_OVERRIDE_PLUGINPATH_NAME=CUSTOM_USD_PLUGINPATHS
226+ ```
227+
228+ By doing this, USD will check the ``` CUSTOM_USD_PLUGINPATHS ``` environment variable for paths, instead of the default
229+ ``` PXR_PLUGINPATH_NAME ``` one.
230+
220231##### Shared library prefix
221232
222233By default shared libraries will have the prefix 'lib'. This means, for a given
223- component such as [ usdGeom] ( pxr/usd/lib/usdGeom ) , the build will generate a corresponding
224- libusdGeom object (libusdGeom.so on Linux, libusdGeom.dll on Windows
225- and libusdGeom.dylib on Mac). You can change the prefix (or remove it) through
234+ component such as [ usdGeom] ( pxr/usd/lib/usdGeom ) , the build will generate a corresponding
235+ libusdGeom object (libusdGeom.so on Linux, libusdGeom.dll on Windows
236+ and libusdGeom.dylib on Mac). You can change the prefix (or remove it) through
226237``` PXR_LIB_PREFIX ``` . For example,
227238
228239```
229240-DPXR_LIB_PREFIX=pxr
230241```
231242
232- Will generate pxrusdGeom.so on Linux, pxrusdGeom.dll on Windows and
243+ Will generate pxrusdGeom.so on Linux, pxrusdGeom.dll on Windows and
233244pxrusdGeom.dylib on Mac for the usdGeom component.
234245
235246> Note: This prefix does not apply to shared objects used for Python bindings.
@@ -247,37 +258,37 @@ flags:
247258| PXR_SET_INTERNAL_NAMESPACE | The internal namespace identifier | ``` pxrInternal_v_x_y ``` (for version x.y.z) |
248259| PXR_ENABLE_NAMESPACES | Enable namespaces | ``` OFF ``` |
249260
250- When enabled, there are a set of macros provided in a generated header,
261+ When enabled, there are a set of macros provided in a generated header,
251262pxr/pxr.h, which facilitates using namespaces:
252263
253- | Macro Name | Description |
254- | ------------------------------ | -----------------------------------------|
264+ | Macro Name | Description |
265+ | ------------------------------ | -----------------------------------------|
255266| PXR_NAMESPACE_OPEN_SCOPE | Opens the namespace scope. |
256267| PXR_NAMESPACE_CLOSE_SCOPE | Closes the namespace. |
257268| PXR_NS | Explicit qualification on items, e.g. ``` PXR_NS::TfToken foo = ... ``` |
258269| PXR_NAMESPACE_USING_DIRECTIVE | Enacts a using-directive, e.g. ``` using namespace PXR_NS; ``` |
259270
260271##### ASCII Parser Editing/Validation
261272
262- There is an ASCII parser for the USD file format, which can be found in
263- [ sdf] ( pxr/usd/lib/sdf/ ) . Most users will not have a need to edit the parser, but
273+ There is an ASCII parser for the USD file format, which can be found in
274+ [ sdf] ( pxr/usd/lib/sdf/ ) . Most users will not have a need to edit the parser, but
264275for the adventurous ones, there are a couple additional requirements.
265276
266- If you choose to edit the ASCII parsers, make sure
267- ``` PXR_VALIDATE_GENERATED_CODE ``` is set to ``` TRUE ``` . This flag enables tests
268- that check the generated code in [ sdf] ( pxr/usd/lib/sdf ) and
277+ If you choose to edit the ASCII parsers, make sure
278+ ``` PXR_VALIDATE_GENERATED_CODE ``` is set to ``` TRUE ``` . This flag enables tests
279+ that check the generated code in [ sdf] ( pxr/usd/lib/sdf ) and
269280[ gf] ( pxr/base/lib/gf ) .
270281
271282| Dependency Name | Description | Version |
272283| ------------------------------ | ----------------------------------------------------------------- | ------- |
273284| FLEX_EXECUTABLE | Path to [ flex] ( http://flex.sourceforge.net/ ) executable | 2.5.35 |
274- | BISON_EXECUTABLE | Path to [ bison] ( https://www.gnu.org/software/bison/ ) executable | 2.4.1 |
285+ | BISON_EXECUTABLE | Path to [ bison] ( https://www.gnu.org/software/bison/ ) executable | 2.4.1 |
275286
276287##### USD Schema Generation
277288
278- USD generates some code through a process called [ schema
289+ USD generates some code through a process called [ schema
279290generation] . This process requires the following python modules be installed
280- and available on the syspath. You can learn more about Schemas and why you
291+ and available on the syspath. You can learn more about Schemas and why you
281292might want to generate them
282293[ here] ( http://openusd.org//docs/Generating-New-Schema-Classes.html ) .
283294
0 commit comments