You will need the Rust compiler and a C/C++ compiler. Below are the tested dependancy versions, for both Linux and Windows (MacOSX has not been tested).
This demo targets the C++11 standard.
- Linux
- GCC 6.3.1
- Windows 10
- MSVC - Visual Studio 2015 - 2017
- CMake 2.8.12+
- Rust 1.48+
- cxx and cxxbridge-cmd 1.0.33 (automatically installed)
- cbindgen
- ... see Cargo.toml for full list.
- Boost (required for OpenImageIO)
- Automatically built with helper scripts.
- bzip2
- zlib
- Science-D-Visions 3DEqualizer4 LDPK (Lens Distortion Plug-in Kit)
- libjpeg_turbo
- libpng
- libtiff
- dlfcn (Windows only)
- ILM Base and OpenEXR
- OpenImageIO
- OpenColorIO
For specific configurations, the VFX Platform can be helpful if you are targeting specific third-party software versions (such as Autodesk Maya).
The build environment assumes to be running on Linux with GCC 6.3.1.
$ cd /path/to/project/root/
$ cargo install cxxbridge-cmd --git "https://github.com/david-cattermole/cxx.git" --rev "363c18b2982329d6e4fbc2a6e5f324f4fef03661" --force
$ bash build_OpenCompGraph_linux.bash
# Run tests
$ ./install/bin/opencompgraph_tests
Note: If you are using CentOS 7.8 and require the Red Hat Developer
Toolset 6 (GCC 6.3.1) for compatibility with the
VFX Reference Platform CY2018,
then you can use the following commands prior to running build_OpenCompGraph_linux.bash
:
$ export CC=/opt/rh/devtoolset-6/root/usr/bin/gcc
$ export CXX=/opt/rh/devtoolset-6/root/usr/bin/g++
$ export _GLIBCXX_USE_CXX11_ABI=0 # Use the old std::string and std::list ABI.
# Enable Red Hat Developer Toolset 6
$ scl enable devtoolset-6 bash
This has been tested on Windows 10, with Visual Studio 2015 and 2017.
Make sure the following commands are run in the Visual Studio 2015 enabled Command Prompt.
> CHDIR C:\path\to\project\root\
> CHDIR thirdparty
> build_thirdparty_windows64.bat
> CHDIR ..
> build_OpenCompGraph_windows64.bat
> install\bin\opencompgraph_tests.exe
Note: You must install Boost manually and ensure a version is used that does not confict with any software you link with.