Skip to content

Commit

Permalink
Merge release v0.7.2
Browse files Browse the repository at this point in the history
  • Loading branch information
pixar-oss committed Dec 10, 2016
2 parents e6ce9e8 + 997ce0c commit 8858430
Show file tree
Hide file tree
Showing 574 changed files with 23,245 additions and 12,770 deletions.
5 changes: 0 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ install:
else
echo 'Using cached OpenSubdiv';
fi
# XXX: To workaround issue #3, create a symlink at opensubdiv3/ pointing to opensubdiv/
- rm -f $HOME/osd/include/opensubdiv3 && ln -s $HOME/osd/include/opensubdiv $HOME/osd/include/opensubdiv3

### OpenImageIO 1.5.11
- sudo apt-get install libboost-filesystem1.55.0 libboost-filesystem1.55-dev
Expand Down Expand Up @@ -150,9 +148,6 @@ script:
- mkdir build && cd build
- cmake -DTBB_ROOT_DIR=$HOME/tbb43_20141023oss -DOPENEXR_LOCATION=$HOME/openexr -DOIIO_LOCATION=$HOME/oiio -DOPENSUBDIV_ROOT_DIR=$HOME/osd -DPTEX_LOCATION=$HOME/ptex -DPXR_VALIDATE_GENERATED_CODE=OFF ..
- echo 'Building with -j4'
# XXX: Need to explicitly build cameraUtil before hd due to missing dependency declaration.
# This is fixed in commit 880b04.
- make -j4 cameraUtil
- make -j4
# Default install location is /usr/local; we need sudo access to write there.
- sudo make install
23 changes: 23 additions & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Advanced Build Configuration
## Table of Contents
- [Optional Components](#optional-components)
- [Third Party Plugins](#third-party-plugins)
- [Tests](#tests)
- [Other Build Options](#other-build-options)
- [USD Developer Options](#usd-developer-options)
- [Optimization Options](#optimization-options)
Expand Down Expand Up @@ -74,6 +75,11 @@ when invoking cmake. This plugin is compatible with Katana 2.0v5. The additional

For further information see our additional documentation on the Katana plugins [here](http://openusd.org/docs/Katana-USD-Plugins.html).

## Tests

Disable unit testing and prevent tests from being built by specifying the cmake flag ```PXR_BUILD_TESTS=FALSE```
when invoking cmake.

## Other Build Options

##### Plugin Metadata Location
Expand All @@ -87,6 +93,23 @@ properly based on the install location of the build. However, if you plan to rel
the build, you must inform the build by setting the cmake variable ```PXR_INSTALL_LOCATION``` to the intended final
directory where these files will be located. This variable may be a ':'-delimited list of paths.

##### Shared library prefix

By default shared libraries will have the prefix 'lib'. This means, for a given
component such as [usdGeom](pxr/usd/lib/usdGeom), the build will generate a corresponding
libusdGeom object (libusdGeom.so on Linux, libusdGeom.dll on Windows
and libusdGeom.dylib on Mac). You can change the prefix (or remove it) through
```PXR_LIB_PREFIX```. For example,

```
-DPXR_LIB_PREFIX=pxr
```

Will generate pxrusdGeom.so on Linux, pxrusdGeom.dll on Windows and
pxrusdGeom.dylib on Mac for the usdGeom component.

> Note: This prefix does not apply to shared objects used for Python bindings.
## USD Developer Options

##### ASCII Parser Editing/Validation
Expand Down
60 changes: 60 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,65 @@
# Change Log

## [0.7.2] - 2016-12-02

### Added
- Added ability to apply a custom prefix to shared library names
by specifying the `PXR_LIB_PREFIX` option to CMake.
- Added ability to disable tests by using the `PXR_BUILD_TESTS` option
with CMake.
- usddiff can now diff two directories containing USD files.
- Value clips on a prim may now be specified using 'template' clip
metadata. This is a more compact representation for simple cases
where each value clip corresponds to a single time code.
- Better support for non-file-backed asset resolution
- Made ArDefaultResolver public, so that subclasses can layer
behavior on top of it.
- Added ArResolver API for retrieving files from data store when
needed.
- Initial version of UsdGeomPointInstancer schema and preliminary
support in usdImaging.
- pxrUsdReferenceAssemblies in Maya can now import animation from a USD scene.
See http://openusd.org/docs/Maya-USD-Plugins.html#MayaUSDPlugins-ImportingasAssemblies
for details.
- Core USD metadata (e.g. hidden, instanceable, kind) now roundtrips through
Maya, stored as "USD_XXX" attributes on corresponding Maya nodes.

### Changed
- Removed dependency on Qt. Note that PySide is still a dependency for
usdview.
- Removed imaging/glfq library as part of this work.
- Modified variant behavior in composition:
- Variants may now be nested within other variants in scene description.
Nested variants may be authored by using nested UsdEditContext objects
returned by UsdVariantSet::GetVariantEditContext.
- Weaker variants may now introduce variant selections that affect
stronger variants. Previously, these selections would be ignored
and the variant fallbacks would be used instead.
- Optimized .usdc file format performance in certain cases:
- Output is buffered in memory to improve write times for layers
containing many nested dictionaries. In one such example, wall-clock
time improved by ~64% and system time improved by 89%.
- Time samples are now written out grouped by time to improve read
performance for frame-by-frame access patterns.
- Several optimizations to improve USD scenegraph authoring and composition
speed and reduce memory consumption. In some use cases, we observed:
- ~5-7x less memory consumed by Pcp dependency tracking structures
- ~40% less time spent to author large stages
- Exporting USD from the Maya Export window now produces binary .usd
files by default instead of .usda files.

### Fixed
- Fixed bug where edits to a layer opened in Maya would persist when
reopening that layer in a new scene.
- Fixed issue where exporting USD from the Maya Export window would
produce files ending with ".usda", even if a different format
was specified. The exporter should now respect any extension that
is entered, so long as the "Default file extensions" option is
turned off.
- Fixed several issues with example plugins being improperly built, making
them unusuable, and missing functionality.
- Various other bug fixes and performance improvements.

## [0.7.1] - 2016-09-21

### Added
Expand Down
10 changes: 6 additions & 4 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
### System Information (OS, Hardware, etc.)
### Description of Issue

### Steps to Reproduce
1.

### System Information (OS, Hardware)

### Package Versions

### Build Flags

### Steps to Reproduce
1.
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ Dependencies
| [GLEW](http://glew.sourceforge.net/) | 1.10.0 |
| [OpenImageIO](https://sites.google.com/site/openimageio/home) | 1.5.11 |
| [Ptex](http://ptex.us/) | 2.0.30 |
| [Qt](http://doc.qt.io/qt-4.8) | 4.8.0 |
| [Pyside](http://wiki.qt.io/PySide) | 1.2.2 |
| [PyOpenGL](https://pypi.python.org/pypi/PyOpenGL/3.1.0) | 3.1.0 |


Getting and Building the Code
Expand All @@ -86,11 +86,10 @@ cd build
cmake \
-DTBB_tbb_LIBRARY=/path/to/libtbb.so \
-DOPENEXR_LOCATION=/path/to/openexr \
-DOPENSUBDIV_LOCATION=/path/to/opensubdiv \
-DOPENSUBDIV_ROOT_DIR=/path/to/opensubdiv \
-DPTEX_INCLUDE_DIR=/path/to/ptex \
-DOIIO_BASE_DIR=/path/to/openimageio \
-DBOOST_ROOT=/path/to/boost \
-DQT_QMAKE_EXECUTABLE=/path/to/qmake \
..

make -j <NUM_CORES> install
Expand All @@ -107,11 +106,10 @@ cmake \
-G "Xcode" \
-DTBB_tbb_LIBRARY=/path/to/libtbb.dylib \
-DOPENEXR_LOCATION=/path/to/openexr \
-DOPENSUBDIV_LOCATION=/path/to/opensubdiv \
-DOPENSUBDIV_ROOT_DIR=/path/to/opensubdiv \
-DPTEX_INCLUDE_DIR=/path/to/ptex \
-DOIIO_BASE_DIR=/path/to/openimageio \
-DBOOST_ROOT=/path/to/boost/include \
-DQT_QMAKE_EXECUTABLE=/path/to/qmake \
..

make -j <NUM_CORES> install
Expand All @@ -128,11 +126,10 @@ C:\Program Files\CMake\bin\cmake.exe ^
-G "Visual Studio 14 Win64" ^
-DTBB_tbb_LIBRARY=C:\path\to\tbb.lib ^
-DOPENEXR_LOCATION=C:\path\to\openexr ^
-DOPENSUBDIV_LOCATION=C:\path\to\opensubdiv ^
-DOPENSUBDIV_ROOT_DIR=C:\path\to\opensubdiv ^
-DPTEX_INCLUDE_DIR=C:\path\to\ptex ^
-DOIIO_BASE_DIR=C:\path\to\openimageio ^
-DBOOST_ROOT=C:\path\to\boost ^
-DQT_QMAKE_EXECUTABLE=C:\path\to\qmak ^
--build .. --config Release --target install
```
Expand Down
4 changes: 3 additions & 1 deletion cmake/defaults/CXXDefaults.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ elseif(MSVC)
include(msvcdefaults)
endif()

_add_define(BUILD_COMPONENT_SRC_PREFIX="pxr/")
# We don't use this prefix in the open source build
# because CMake bakes out full paths.
_add_define(BUILD_COMPONENT_SRC_PREFIX="")

_add_define(GL_GLEXT_PROTOTYPES)
_add_define(GLX_GLXEXT_PROTOTYPES)
Expand Down
7 changes: 6 additions & 1 deletion cmake/defaults/Options.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#
option(PXR_STRICT_BUILD_MODE "Turn on additional warnings. Enforce all warnings as errors." OFF)
option(PXR_VALIDATE_GENERATED_CODE "Validate script generated code" OFF)
option(PXR_BUILD_TESTS "Build tests" ON)
option(PXR_BUILD_IMAGING "Build imaging components" ON)
option(PXR_BUILD_USD_IMAGING "Build USD imaging components" ON)
option(PXR_BUILD_KATANA_PLUGIN "Build usd katana plugin" OFF)
Expand All @@ -41,7 +42,11 @@ set(PXR_ALL_LIBS ""
INTERNAL
"Aggregation of all built libraries."
)

set(PXR_LIB_PREFIX "lib"
CACHE
STRING
"Prefix for build library name"
)
if (${PXR_BUILD_USD_IMAGING} AND NOT ${PXR_BUILD_IMAGING})
message(STATUS
"PXR_BUILD_IMAGING=OFF implies PXR_BUILD_USD_IMAGING=OFF"
Expand Down
10 changes: 4 additions & 6 deletions cmake/defaults/Packages.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -87,16 +87,14 @@ if (PXR_BUILD_IMAGING)
find_package(PTex REQUIRED)
# --X11
find_package(X11)
# --Qt
find_package(Qt4)
if (QT4_FOUND)
find_package(PySide REQUIRED)
endif()
# --PySide
find_package(PySide)
# --PyOpenGL
find_package(PyOpenGL)
endif()

# Third Party Plugin Package Requirements
# ----------------------------------------------

if (PXR_BUILD_KATANA_PLUGIN)
find_package(KatanaAPI REQUIRED)
find_package(Boost
Expand Down
6 changes: 4 additions & 2 deletions cmake/defaults/ProjectDefaults.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,7 @@ if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()

# Enable CTest
enable_testing()
if (PXR_BUILD_TESTS)
# Enable CTest
enable_testing()
endif()
9 changes: 9 additions & 0 deletions cmake/macros/Private.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -320,3 +320,12 @@ macro(_get_share_install_dir RESULT)
_get_install_dir(share/usd ${RESULT})
endmacro() # _get_share_install_dir

function(_append_to_rpath orig_rpath new_rpath output)
# Strip trailing '/' path separators, then append to orig_rpath
# if new_rpath doesn't already exist.
string(REGEX REPLACE "/+$" "" new_rpath ${new_rpath})
string(FIND ${orig_rpath} ${new_rpath} rpath_exists)
if (rpath_exists EQUAL -1)
set(${output} "${orig_rpath}:${new_rpath}" PARENT_SCOPE)
endif()
endfunction() # _add_to_rpath
Loading

0 comments on commit 8858430

Please sign in to comment.