forked from dneg/openvdb_ax
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
174 lines (132 loc) · 7.04 KB
/
INSTALL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
Installing OpenVDB AX
=====================
Requirements
------------
- A C++11-compatible compiler, such as
GNU GCC (gcc.gnu.org), version 4.8 or later,
Clang (clang.llvm.org), version 3.8 or later,
or Intel ICC (software.intel.com), version 15 or later
- GNU gmake (www.gnu.org/software/make/), version 3.81 or later
- Boost (www.boost.org), version 1.53.0 or later; 1.57.0 or later
for the Python module
(Linux: yum install boost-devel; OS X: port install boost +python27)
- libz (zlib.net)
(Linux: yum install zlib-devel)
- OpenEXR (www.openexr.com), for the 16-bit float Half class in half.h
and for .exr file output in vdb_render
- Intel Threading Building Blocks (threadingbuildingblocks.org),
version 3.0 or later
- LLVM (https://llvm.org/), version 5.0.1 or higher.
- OpenVDB (http://www.openvdb.org/), version 5.2.0 or higher.
Other compilers or versions might work but have not been tested.
Optional:
- Doxygen 1.8.11 or later (www.stack.nl/~dimitri/doxygen/), for documentation
- CppUnit (www.freedesktop.org/wiki/Software/cppunit), version 1.10 or later
(Linux: yum install cppunit-devel)
- Houdini HDK (http://www.sidefx.com/get/download-houdini/), version 15.0
or later
- Blosc compression library (www.blosc.org), version 1.5.0 or later
(included in the Houdini HDK as of version 14.0)
- Ghostscript (www.ghostscript.com), version 8.70 or later, for documentation
in PDF format
- pdfLaTeX (www.pdftex.org), version 1.21 or later, for documentation
in PDF format
- log4cplus (log4cplus.sourceforge.net), version 1.1.2 or later,
for error logging
Other versions might work but have not been tested.
Installation
------------
1. Set values appropriate to your environment for the following variables
at the top of the Makefile:
INSTALL_DIR the directory into which to install libraries,
executables and header files (e.g., /usr/local)
OPENVDB_INCL_DIR the parent directory of the openvdb/ header directory
OPENVDB_LIB_DIR the directory containing libopenvdb.so etc.
BOOST_INCL_DIR the parent directory of the boost/ header directory
(e.g., /usr/include)
BOOST_LIB_DIR the directory containing libboost_iostreams, etc.
BOOST_LIB linker flags for libboost_iostreams and libboost_system
BOOST_THREAD_LIB linker flags for libboost_thread
ILMBASE_INCL_DIR the parent directory of the OpenEXR/ header directory
(which contains half.h)
ILMBASE_LIB_DIR the directory containing libHalf.so and/or libHalf.a
ILMBASE_LIB linker flags for libIlmThread, libIex and libImath
HALF_LIB linker flag(s) for the Half library (e.g., -lHalf)
EXR_INCL_DIR the parent directory of the OpenEXR/ header directory
(Note: some OpenEXR headers incorrectly include other
OpenEXR headers with, e.g., '#include <ImfName.h>'
instead of '#include "ImfName.h"'. When compiling
with Clang, set EXR_INCL_DIR to the parent directory
of the OpenEXR/ directory and ILMBASE_INCL_DIR to the
OpenEXR/ directory itself to avoid errors.)
EXR_LIB_DIR the directory containing libIlmImf
EXR_LIB linker flags for libIlmImf
LLVM_ROOT The LLVM directory containing bin, lib, include, etc.
LLVM_INCL_DIR the parent directory of the LLVM/ header directory
LLVM_LIB_DIR the directory containing the LLVM libraries
TBB_INCL_DIR the parent directory of the tbb/ header directory
TBB_LIB_DIR the directory containing libtbb
TBB_LIB linker flag(s) for the TBB library (e.g., -ltbb)
BLOSC_INCL_DIR the parent directory of the blosc.h header
BLOSC_LIB_DIR the directory containing libblosc
CONCURRENT_MALLOC_LIB_DIR
a directory containing a scalable, concurrent malloc
replacement library such as jemalloc or TBB malloc
(leave blank if no such library is available, but
be aware that using standard malloc in concurrent
code incurs a significant performance penalty)
CONCURRENT_MALLOC_LIB
linker flag(s) for the malloc replacement library
(e.g., -ltbbmalloc_proxy -ltbbmalloc)
CPPUNIT_INCL_DIR the parent directory of the cppunit/ header directory
(leave blank if CppUnit is not available)
CPPUNIT_LIB_DIR the directory containing libcppunit.so or libcppunit.a
CPPUNIT_LIB linker flag(s) for the cppunit library
(e.g., -lcppunit)
LOG4CPLUS_INCL_DIR the parent directory of the log4cplus/ header directory
(leave blank if log4cplus is not available)
LOG4CPLUS_LIB_DIR directory containing liblog4cplus.so or liblog4cplus.a
LOG4CPLUS_LIB linker flags for the log4cplus library
(e.g., -llog4cplus)
DOXYGEN the path to the Doxygen executable
(leave blank if Doxygen is unavailable)
TODO: Write up Houdini AX SOP install instructions.
2. From the top-level openvdb_ax/ directory, type "make" (or "make -s" for
less verbose output) to locally build the library and commands.
The Makefile supports parallel builds (e.g. "make -j 8").
A default local build generates the following libraries and executables
(but see the Makefile for additional targets and build options):
openvdb/libopenvdb_ax.so.5.2.0 the OpenVDB AX library
openvdb/libopenvdb_ax.so symlink to libopenvdb_ax.so.5.2.0
openvdb/vdb_test unit test runner for libopenvdb_ax
(if CppUnit is available)
From the openvdb_ax/ directory, type "make test" to run the unit tests
and verify that the library is working correctly. (Alternatively, once
the library has been installed (Step 5), run the unit test executable
directly with "./vdb_test", or "./vdb_test -v" for more verbose output.)
3. From the openvdb_ax/ directory, type "make doc" (or "make -s doc")
to generate HTML library documentation, then open the file
openvdb_ax/doc/html/index.html in a browser.
3. From the openvdb_ax/ directory, type "make install" (or "make -s install")
to copy generated files into the directory tree rooted at $(INSTALL_DIR).
This creates the following distribution:
$(INSTALL_DIR)/
bin/
vdb_ax
include/
openvdb_ax/
ast/
codegen/
compiler/
Exceptions.h
lib/
libopenvdb_ax.so -> libopenvdb_ax.so.5.2.0
libopenvdb_ax.so.5.2 -> libopenvdb_ax.so.5.2.0
libopenvdb_ax.so.5.2.0
share/
doc/
openvdb_ax/
html/
index.html
...
EOF