-
Notifications
You must be signed in to change notification settings - Fork 134
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 are running into problems during compilation, you might have to run C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd /x64 /Release
to setup all environment variables.
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 the setup still fails with Setup failed
, you will need to manually fix up the cmake configuration:
- chdir into
<render_pipeline>/rpcore/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 rpcore/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 underrpcore/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.)
After all such corrections, re-run setup.py
again to finish the setup.
Rendering Pipeline by tobspr (c) 2014 - 2016
For developers: