CG Library Compile Guide

  • download CMake (since nowaday all 64bit already, just get 64bit): https://cmake.org/download/
    • install it and check “put it into system path” option
  • get and install visual studio 2010 (which not available any more unless you can find it)
  • require download:
      1. ilmbase-2.2.1.tar.gz
      2. openexr-2.2.1.tar.gz
      1. zlib125.zip
  • compile step:
    1. create source folder: D:\dev\openexr
      1. put ilmbase, openexr, zlib125 folder there, and their internal content are all those content files
    2. create output folder: D:\cglib
    3. 1st Stage, compile ilmbase, open a new cmd and cd /D to ilmbase, then run one of them based on your VS version(visual studio 2010 and visual studio 2015)
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\ilmbase -G "Visual Studio 10 Win64" ..\ilmbase
       
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\ilmbase -G "Visual Studio 14 2015 Win64" ..\ilmbase
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\ilmbase -G "Visual Studio 15 2017 Win64" ..\ilmbase


    4. then, cmake will create the project and solution file for ilmbase project, click the created “ilmbase.sln” in the ilmbase folder
    5. now we are inside visual studio application,
      1. in top tool bar, change “Debug” mode to “Release” mode;
      2. under “Solution Explorer” panel, right click on the “ALL_BUILD” item, in pop menu > Build; then, the output panel shows Build Success (tested on VS2010 and VS2015CE)
      3. then, under “Solution Explorer” panel, right click on the “INSTALL” item, in pop menu > Build;
      4. now you should see output binary files in D:\cglib\ilmbase, (include folder and lib folder)
    6. 2nd Stage, compile zlib, open a new cmd, and cd /D to zlib125, then run of the cmd based on your VS version
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\zlib -G "Visual Studio 10 Win64" ..\zlib125
       
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\zlib -G "Visual Studio 14 2015 Win64" ..\zlib125
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\zlib -G "Visual Studio 15 2017 Win64" ..\zlib125
    7. then, click the created “zlib.sln” in the zlib125 folder
    8. Now, we are inside visual studio application,
      1. in top tool bar, change “Debug” mode to “Release” mode;
      2. under “Solution Explorer” panel, right click on the “ALL_BUILD” item, in pop menu > Build; then, the output panel shows Build Success (tested on VS2010 and VS2015CE)
      3. then, under “Solution Explorer” panel, right click on the “INSTALL” item, in pop menu > Build;
      4. now you should see output binary files in D:\cglib\zlib
    9. 3rd Stage, the Last Stage, OpenExr part
      1. Important, add D:\cglib\ilmbase\lib to your environment path in windows Environment panel
      2. cd /D to openexr, then run one of them based on your VS version
        cmake -DZLIB_ROOT=D:\cglib\zlib -DILMBASE_PACKAGE_PREFIX=D:\cglib\ilmbase -DCMAKE_INSTALL_PREFIX=D:\cglib\openexr -G "Visual Studio 10 Win64" ..\openexr
         
        cmake -DZLIB_ROOT=D:\cglib\zlib -DILMBASE_PACKAGE_PREFIX=D:\cglib\ilmbase -DCMAKE_INSTALL_PREFIX=D:\cglib\openexr -G "Visual Studio 14 2015 Win64" ..\openexr
        cmake -DZLIB_ROOT=D:\cglib\zlib -DILMBASE_PACKAGE_PREFIX=D:\cglib\ilmbase -DCMAKE_INSTALL_PREFIX=D:\cglib\openexr -G "Visual Studio 15 2017 Win64" ..\openexr
    10. then, click the created “openexr.sln” in the openexr folder
    11. Now, we are inside visual studio application,
      1. in top tool bar, change “Debug” mode to “Release” mode;
      2. under “Solution Explorer” panel, right click on the “ALL_BUILD” item, in pop menu > Build; then, the output panel shows Build Success (tested on VS2010 and VS2015CE)
      3. then, under “Solution Explorer” panel, right click on the “INSTALL” item, in pop menu > Build;
      4. now you should see output binary files in D:\cglib\openexr
    12. Congratulation, you have gone through it smoothly on either Visual Studio 2010 or Visual Studio 2015 Community Edition, on windows 7 64bit OS, and you can ignore those old outdated guide online.

old ref: https://groups.google.com/forum/#!topic/openvdb-forum/-jFJQ2N4BGc

  • Compile steps for c-blosc
    1. compile c-blosc, cd /D to source folder as D:\dev\c-blosc-1.7.0
    2. cmd (note, VS2010 keep error because c compiler complain, use cpp compiler due to code required format changed)
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\c-blosc -G "Visual Studio 10 Win64" ..\c-blosc 1.7.0
       
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\c-blosc -G "Visual Studio 14 2015 Win64" ..\c-blosc 1.7.0
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\c-blosc -G "Visual Studio 15 2017 Win64" ..\c-blosc 1.7.0
    3. then, in the source folder, open blosc.sln in visual studio,
      1. switch to Release mode
      2. inside Solution Explorer, right click on All_BUILD item, and choose build, then right click on INSTALL and build
  • Compile steps for boost source code
    1. unpack to D:\dev\boost_1_62_0
    2. run bootstrap.bat in the folder to build the b2.exe and bjam.exe (which is the same thing, just bjam for back compatible naming)
    3. cd /D to that directory, and run build (-j8 means build in 8 thread cores, which is much faster, install will create include folder)command
      b2.exe toolset=msvc-14.0 address-model=64 --build-type=complete --build-dir=build\x64 install --prefix="D:\cglib\boost_1_62_0" -j8
      
      REM below 2 are my ref study
      b2.exe toolset=msvc-14.0 address-model=64 --build-type=complete --stagedir=lib -j8
      b2.exe toolset=msvc-12.0 address-model=32 --build-dir=build\x86 install --prefix="D:\dev\boost_1_62_0" -j8
    4. now, under D:\cglib\boost_1_62_0, inside it should have include/boost-1_62/boost and lib folder, and move include/boost-1_62/boost to include/boost, so one less subfolder
    5. set a Environment variable, set boost_root=D:\cglib\boost_1_62_0
  • ref:
  • compile steps for Glew 1.13.0
    1. download glew-1.13.0.zip source code
    2. unpack to d:\dev\glew-1.13.0,
    3. cmd cd /D to sub folder d:\dev\glew-1.13.0\build\cmake, compile cmd
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\glew -G "Visual Studio 10 Win64" ..\glew-1.13.0
       
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\glew -G "Visual Studio 14 2015 Win64" ..\glew-1.13.0
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\glew -G "Visual Studio 15 2017 Win64" ..\glew-1.13.0
    4. then, in the d:\dev\glew-1.13.0\build\cmake, open glew.sln in visual studio,
      1. switch to Release mode
      2. inside Solution Explorer, right click on All_BUILD item, and choose build, then right click on INSTALL and build
  • compile steps for GLFW-3.2.1
    1. download glfw-3.2.1.zip source code
    2. unpack to d:\dev\glfw-3.2.1
    3. cmd cd /D to that folder, compile cmd
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\glfw -G "Visual Studio 10 Win64" ..\glfw-3.2.1
       
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\glfw -G "Visual Studio 14 2015 Win64" ..\glfw-3.2.1
      cmake -DCMAKE_INSTALL_PREFIX=D:\cglib\glfw -G "Visual Studio 15 2017 Win64" ..\glfw-3.2.1
    4. then, in the d:\dev\glfw-3.2.1, open GLFW.sln in visual studio,
      1. switch to Release mode
      2. inside Solution Explorer, right click on All_BUILD item, and choose build, then right click on INSTALL and build
  • compile steps for CPPUnit 1.14.0
    • download cppunit-1.14.0.tar.gz source code
    • unpack to d:\dev\cppunit-1.14.0
    • go to src folder, cppunit-1.14.0\src\cppunit, open cppunit.vcxproj and cppunit_dll.vcxproj in visual studio, and update if asked
    • change mode to Release-x64 mode, and right click on project in solution explorer, and build them, it will auto put a result copy in d:\dev\cppunit-1.14.0\lib
    • copy d:\dev\cppunit-1.14.0\lib and d:\dev\cppunit-1.14.0\include files into d:\cglib\cppunit
  • compile steps for openvdb 5.0.0
    • wip
    • compile code (semi-working)
      setlocal
      del /f CMakeCache.txt
      set BOOST_ROOT=D:\cglib\boost
      set GLEW_ROOT=D:\cglib\glew
      set GLFW3_ROOT=D:\cglib\glfw
      set ILMBASE_ROOT=D:\cglib\ilmbase
      set OPENEXR_ROOT=D:\cglib\openexr
      set TBB_ROOT=D:\cglib\tbb2017_20160916oss
      cmake ^
            -D DOXYGEN_SKIP_DOT=ON ^
            -D CMAKE_USE_WIN32_THREADS_INIT=ON ^
            -D Blosc_USE_STATIC_LIBS=OFF ^
            -D BLOSC_LOCATION=D:\cglib\c-blosc ^
            -D Blosc_DIR=D:\cglib\c-blosc\lib\cmake\c-blosc ^
            -D BLOSC_INCL_DIR=D:\cglib\c-blosc\include ^
            -D BLOSC_LIB_DIR=D:\cglib\c-blosc\lib ^
            -D BLOSC_LIB=D:\cglib\c-blosc\lib\blosc.lib ^
            -D USE_GLFW3=ON ^
            -D GLFW3_USE_STATIC_LIBS=ON ^
            -D GLFW3_DIR=D:\cglib\glfw\lib\cmake\glfw3 ^
            -D GLEW_INCLUDE_DIR=D:\cglib\glew\include\GL ^
            -D GLEW_LIBRARY=D:\cglib\glew\lib\glew32.lib ^
            -D Boost_USE_STATIC_LIBS=ON ^
            -D Boost_INCLUDE_DIR=D:\cglib\boost\include ^
            -D BOOST_LIBRARYDIR=D:\cglib\boost\lib ^
            -D ZLIB_INCLUDE_DIR=D:\cglib\zlib\include ^
            -D ZLIB_LIBRARY=D:\cglib\zlib\lib\zlib.lib ^
            -D TBB_LIBRARY_DIR=%TBB_ROOT%\lib\intel64\vc14 ^
            -D TBB_LIBRARY_PATH=%TBB_ROOT%\lib\intel64\vc14 ^
            -D Tbb_TBB_LIBRARY=%TBB_ROOT%\lib\intel64\vc14\tbb.lib ^
            -D Tbb_TBBMALLOC_LIBRARY=%TBB_ROOT%\lib\intel64\vc14\tbbmalloc.lib ^
            -D Tbb_TBB_PREVIEW_LIBRARY=%TBB_ROOT%\lib\intel64\vc14\tbb_preview.lib ^
            -D CPPUNIT_LOCATION=D:\cglib\cppunit ^
            -D CMAKE_INSTALL_PREFIX=D:\cglib\openvdb ^
            -G "Visual Studio 14 2015 Win64" ^
            ..\openvdb
  • requirement:
    • visual studio 2010, win7 64bit
  • Steps:
    1. Download and prepare source code and binary
      1. create folder D:\dev\openVDB_vs10\build
      2. create folder D:\dev\openVDB_vs10\source
    2. Download following available binary file and unpack with following names
      1. build\boost_1_57_0: boost_1_57_0-msvc-10.0-64.exe at http://sourceforge.net/projects/boost/files/boost-binaries/1.57.0/
      2. build\glew-1.11.0: glew-1.11.0-win32.zip at http://sourceforge.net/projects/glew/files/glew/1.11.0/
      3. build\glfw: glfw-3.2.1.bin.WIN64.zip at https://github.com/glfw/glfw/releases
      4. build\tbb43: tbb43_20150611oss_win.zip (4.3 Update 6) at https://github.com/01org/tbb/blob/master/download.md
    3. Download following available source code from guide author's github (old version but works)
    4. Binary unpack stage:
      1. install boost_1_57_0_msvc-10.0-64.exe to build\boost_1_57_0
      2. unpack glew-1.11.0
      3. unpack glfw-3.2.1.bin.WIN64.zip as glfw, and renaem glfw\lib-vc2012 to glfw\lib
      4. unpack tbb43_20150611oss_win.zip as tbb43
    5. Compile unpack Stage
      1. unpack win_openexr-master.zip as source\win_openexr
      2. unpack win_openvdb-master.zip as source\win_openvdb
      3. unpack zlib-master.zip as source\zlib
    6. Zlib build
      1. cmake-gui open your source\zlib, and choose as build to your build\zlib, click Configure button below, choose Visual Studio 10 2010 Win64 in pop-up dialog, then click Generate button below. (result panel shows: config done and generate done without error)
      2. open zlib.sln in build\zlib in visual studio 2010, and switch to release mode, right click on ALL_BUILD item in Solution Explorer panel and build (result: 7 succeeded, 0 failed)
      3. close VS2010
    7. OpenEXR-Ilmbase build
      1. cmake-gui open your source\win_openexr\IlmBase, and choose as build to build\IlmBase, configure Button as VS2010 win64, then Generate (result panel shows config done and generate done without error)
      2. open ilmbase.sln in build\IlmBase in visual studio 2010, and switch to release mode, right click on ALL_BUILD item in Solution Explorer panel and build (result: 12 succeeded, 0 failed)
      3. close VS2010
    8. OpenEXR-openexr build
      1. cmake-gui open your source\win_openexr\openexr, and choose as build to build\OpenEXR, configure Button as VS2010 win64, then Generate
      2. Note: cmake will say b44ExpLogTable of IlmImf not exist, we will fix the path inside Visual Studio 2010
      3. open openexr.sln in your build\zlib in visual studio 2010, and switch to release mode, check Solution Explorer panel
        1. right click on IlmImf item > Property > VC++ directories > include directory > drop menu - edit, add your build\zlib\include path there.
        2. right click on ALL_BUILD item in Solution Explorer panel and build (result: 15 succeeded, 0 failed)
        3. close VS2010
    9. OpenVDB build
      1. cmake-gui open your source\win_openvdb\openvdb, and choose as build to build\OpenVDB, configure button as VS2010 win64, then Generate. (result panel shows: config done and generate done without error)
      2. open OpenVDB.sln in your build\OpenVDB in visual studio 2010, and switch to release mode, check Solution Explorer panel, wait for VS2010 show ready in status bar
        1. right click on openvdb item > Property > VC++ directories > include directory > drop menu - edit, add your build\zlib\include path there.
        2. right click on vdb_view item > Property > VC++ directories > include directory > drop menu - edit, add your build\glew-1.11.0\include path there.
        3. right click on ALL_BUILD item in Solution Explorer panel and build (result: 6 succeeded, 1 failed, and the failed one is the doc item which is just a documentation)
        4. close VS2010
    10. OpenVDB standalone final result is inside your build\OpenVDB\Release folder
    11. copy the release to another computer to test
      1. in another computer, cd /D to the release folder containing the vdb_render.exe
      2. it will pop error of missing MSVCP100D.dll, which is a debug library, something wrong with certain step, as ideally it should ask for MSVCP100.dll normal dll.
        1. ask checking your Attemp 1, it seams, tbb library setup got issue, since it still have debug name in its release dll.
  • main tool: cmake 3.11 and VS2015 CE (so called msvc14)
  • folder structure
xxx_codes\
.\download keep download zip file from web
.\source put unpacked source folder from zip
.\build keep cmake generated project file
.\release compiled result from build
.\app final copy of app + dll for delivery

IlmBase

1. ilmbase

  • unpack top folder to xxx\source\ilmbase-2.2.1 (example)
  • cmake-gui and load xxx\source\ilmbase-2.2.1 and set ouput to xxx\build\ilmbase
  • edit: cmake_install_prefix to xxx\release\ilmbase
  • config and generate,
  • msvc14 VS2015, change to Release x64 mode
  • ALL_BUILD > build (12 succeeded)
  • INSTALL > build

zlib

2. zlib

  • unpack top folder to xxx\source\zlib-1.2.11 (example)
  • cmake-gui and load xxx\source\zlib-1.2.11 and set ouput to xxx\build\zlib
  • edit: cmake_install_prefx to xxx\release\zlib
  • config
  • edit (check grouped and advanced): install > change all to xxx\release\zlib\???
  • config and generate,
  • msvc14 VS2015, change to Release x64 mode
  • ALL_BUILD > build (6 succeeded)
  • INSTALL > build

OpenEXR

3. openexr

  • download latest source zip: http://www.openexr.com/downloads.html
  • unpack top folder to xxx\source\openexr-2.2.1 (example)
  • cmake-gui and load xxx\source\openexr-2.2.1 and set ouput to xxx\build\openexr
  • config
  • error asks zlib_library, zlib_include_dir
    • zlib > zlib_library_release to xxx/release/zlib/lib/zlib.lib
    • zlib > zlib_include_dir to xxx/release/zlib/include
  • edit: cmake_install_prefx to xxx\release\openexr
  • config again
  • it ask for ILMBASE_PACKAGE_PREFIX =
    • Add Entry button to create name “ILMBASE_PACKAGE_PREFIX”, type “PATH”, value “xxx/release/ilmbase”
  • msvc14 VS2015, change to Release x64 mode
  • ALL_BUILD > build
  • VS says ilmimf fatal error, add xxx/release/ilmbase/lib to user environment path
  • ALL_BUILD > clean build, ALL_BUILD > build
  • (13 succeeded)
  • INSTALL > build

ref: https://stackoverflow.com/questions/26774563/compiling-openexr-for-windows7-64-using-visual-studio-2010-

(fail and stuck) OpenEXR_display

4.1 openexr_display's fltk lib (forget about it, just use other tool to open exr)

4.2 openexr_display (forget about it, just use other tool to open exr)

  • cmake-gui and load xxx\source\openexr_viewers-2.2.1 and set ouput to xxx\build\openexr_viewers
  • config
  • error says about zlib path,
    • fix zlib_include_dir to xxx/release/zlib/include
    • fix zlib_library_release to xxx/release/zlib/lib/zlib.lib
  • edit: cmake_install_prefix to xxx\release\openexr_viewers
  • config
  • edit: ILMBASE_PACKAGE_PREFIX = xxx\release\ilmbase
  • generate

5. openvdb

  • glew build
    • open source\glew*\build\vc12\glew.sln
    • release and x64 mode, Build menu, Build solution
    • (4 succeeded)
    • create release\glew\bin+lib+include,
    • copy source\glew*\bin\release\x64\dll+exe to release\glew\bin
    • copy source\glew*\include to release\glew\include
    • copy source\glew*\lib\*.lib to release\glew\lib
  • glfw build
    • cmake-gui source/glfw-3.2.1 to build/glfw, config
    • it says some warning, fine
    • check BUILD_SHARED_LIBS ON
    • change cmake_install_prefix to xxx\release\GLFW
    • config and generate
    • open build\glfw\GLFW.sln
    • change to release x64 mode, all_build > build
    • (28 succeeded)
    • INSTALL > build
  • boost build
    • bootstrap.bat
    • b2.exe toolset=msvc-14.0 address-model=64 –build-type=complete –build-dir=build\x64 install –

prefix=“xxx\release\boost_1_66_0” -j8

  • c-blosc build
    • cmake-gui source/c-blosc-1.14.2 to build/blosc, config
    • cmake_install_prefix to xxx\release\blosc
    • config and generate
    • open build\blosc\blosc.sln
    • change to release x64 mode, all_build > build
    • (15 succeeded)
    • INSTALL > build
  • tbb build (tbbvars.bat intel64)
    • go xxx\source\tbb-2018_U2\build\vs2013\makefile.sln
    • ok and update
    • release and x64 mode
    • build menu > build solution
    • (3 succeeded)
    • copy xxx\source\tbb-2018_U2\build\vs2013\x64\Release\*.dll to xxx\release\tbb\bin
    • copy xxx\source\tbb-2018_U2\build\vs2013\x64\Release\*.lib to xxx\release\tbb\lib
    • copy xxx\source\tbb-2018_U2\include to xxx\release\tbb\include
  • cppunit build
    • go source\cppunit-1.14.0\src\cppunit, open cppunit.vcxproj and cppunit_dll.vcxproj in visual studio, and

update if asked

  • change mode to Release-x64 mode, and build menu > build solution
  • copy xxx\source\cppunit-1.14.0\lib and include folders into xxx\release\cppunit\lib
  • make you get python27 x64 installed
    • python -m pip install numpy
  • openvdb build
    • cmake-gui xxx\source\openvdb-5.0.0 to xxx\build\openvdb
    • config and error says “GLEW_LOCATION”
    • change value of GLEW_LOCATION to xxx\release\glew
    • config again and it found GLEW, but error again says “boost not found” and “BLOSC_LOCATION not found
    • boost part, in unchecked grouped and unchecked advanced
      • Boost_DIR = xxx\release\boost_1_66_0
      • Boost_INCLUDE_DIR = xxx\release\boost_1_66_0\include
  • not need to set iostreams, system, thread release library:

xxx\release\boost_1_66_0\lib\libboost_iostreams-vc140-mt-x64-1_66.lib, libboost_system-vc140-mt-x64-1_66.lib,

libboost_thread-vc140-mt-x64-1_66.lib

  • BLOSC_LOCATION = xxx\release\blosc
  • cmake_install_prefix = xxx\release\OpenVDB
  • config, error says “TBB_LOCATION”
  • TBB_LOCATION = xxx\release\tbb
  • config, error says “zlib”,
    • ZLIB_INCLUDE_DIR = xxx\release\zlib\include
    • ZLIB_LIBRARY_RELEASE = xxx/release/zlib/lib/zlib.lib
  • config, error says “ILMBASE_LOCATION”
    • “ILMBASE_LOCATION = xxx\release\ilmbase
  • config, error says “Ilmbase_HALF_DLL” and “OPENEXR_LOCATION”
    • Ilmbase_HALF_DLL = xxx/release/ilmbase/lib/Half.dll
    • OPENEXR_LOCATION = xxx/release/openexr
  • config, error says “Openexr_ILMIMF_DLL”
    • Openexr_ILMIMF_DLL = xxx/release/openexr/lib/IlmImf-2_2.dll
  • config, error says “CPPUNIT_LOCATION”
    • CPPUNIT_LOCATION = xxx\release\cppunit
  • config, error says “BOOST_LIBRARYDIR” not found
    • BOOST_LIBRARYDIR = xxx\release\boost_1_66_0\lib
    • Boost_PYTHON_LIBRARY_RELEASE = xxx\release\boost_1_66_0\lib\boost_python-vc140-mt-x64-1_66.lib
    • TBBMALLOC_LIBRARY_PATH = xxx/release/tbb/lib/tbbmalloc.lib
  • OPENVDB
    • check OPENVDB_BUILD_HOUDINI_SOPS, OPENVDB_BUILD_MAYA_PLUGIN, OPENVDB_BUILD_PYTHON_MODULE
  • add entry:
    • DOXYGEN_SKIP_DOT: ON
  • config, error
  • OPENVDB,
    • OPENVDB_HOUDINI_INSTALL_LIBRARY
  • USE_GLFW3=ON
  • config
    • GLFW3_LOCATION = xxx/release/GLFW
    • GLFW3_glfw_LIBRARY = xxx/release/GLFW/lib/glfw3.lib
  • config
    • HDK_LOCATION = C:/Program Files/Side Effects Software/Houdini 16.5.323
    • config again to auto set HDK_INCLUDE_DIR
  • config
    • MAYA_LOCATION = C:\Program Files\Autodesk\Maya2014
    • config again to auto set other maya stuff
  • config
    • GLFW3_USE_STATIC_LIBS = ON
  • vc14 2015,
    • openvdb_shared, openvdb_static, add zlib include in vc directory, and change half_export to OPENEXR_DLL

in c++ preprocess

  • (2 succeeeded) (if error, /bigobj add to c++ > cmd line > additional option)
  • vdb_print, vdb_render, change half_export to OPENEXR_DLL in c++ preprocess
  • (2 succeeded)
  • pyopenvdb (float grid issue)
  • openvdb_maya

OpenUSD and OpenSubdiv

USD is super easier to build, by just run the python script provided in build_script folder, and it will auto download all library and compile automatically and release automatically for you.

the only extra thing you need to do is

  1. get nasm binary and add to PATH environment variable
  2. get python 2.7 64bit and these python modules ready
    1. python -m pip install jinja2
    2. python -m pip install pyopengl
    3. change

The structure of USD and its built-on library:

opensubdiv individual build strucutre and option: