-
Notifications
You must be signed in to change notification settings - Fork 133
Building the CPP Modules
The pipeline provides several C++ modules. There is a python implementation of them, too, but it is slower, and not all features are implemented. You should choose the C++ build option if possible.
Required for building the C++ modules:
- cmake 2.6 or newer
- Panda3D build prerequisites, described in the Panda3D README
You need these even if you have a precompiled Panda3D release.
After you installed all prerequisites, you can simply run the setup.py
. It should take care of compiling all modules.
The setup.py
script attempts to build native code automatically for you, but may run into issues.
If you see:
Could NOT find Panda (missing: PANDA_LIBRARIES PANDA_INCLUDE_DIR)
CMake Error at CMakeLists.txt:126 (message):
Could not find panda3d headers!
... then be sure the environment variables PATH
, PYTHONPATH
, and LD_LIBRARY_PATH
(Linux) or DYLD_LIBRARY_PATH
(Mac OS X) can find Panda3D libraries and binaries, and try setup.py
again.
If setup still fails with Setup failed
, you will need to manually fix up the cmake configuration:
- chdir into
RenderPipe/Code/Native/<arch>
(where matches the OS and CPU of your system, e.g.linux_amd64
) - run
cmake-gui ..
(if you don't have it, install it)
NOTE: run setup.py
first, even if you will use cmake-gui
from scratch, since it sets up some
basic entries for you. If you're clever enough, check Code/Native/Scripts/setup.py
to see how it
constructs the cmake
command line.
Super-quicky cmake-gui tutorial
cmake-gui
will highlight entries it failed to detect in red.Edit these to be correct.
Click
Configure
to try again. cmake will re-run the discovery logic and try again, using the new entries or recalculating removed entries.If this succeeds (no red text), then click
Generate
. When that succeeds, go back and runsetup.py
again to finish.Also, the entire
<arch>
directory underCode/Native/
is auto-generated; if you get stuck somewhere, you can delete it to start fresh.
- Could not find Panda3D variables?
You may need to edit the PANDA_...
entries to match your build. For example, on Linux systems:
> `PANDA_INCLUDE_DIR` is `.../panda3d/built/include`
> `PANDA_LIBRARY_<foo>` is `.../panda3d/built/lib/lib<foo>.so`
- Mismatched Python?
In the configuration step, if you see:
-- Found PythonLibs: .../libpython3.4m.so (found version "3.4.0")
-- Found PythonInterp: .../python (found version "2.7.9")
Then, you need to correct this. Edit the PYTHON_INCLUDE_DIR
and/or PYTHON_LIBRARY
entries to match your system.
(On Linux, for example, you can use dpkg -L libpython2.7
to find out where the *.so lives.)
- Eigen libraries
After all such corrections, re-run setup.py
again to finish the setup.
Rendering Pipeline by tobspr (c) 2014 - 2016
For developers: