/kdtrace

A ray tracing library which uses kd-trees.

Primary LanguageCMakeOtherNOASSERTION

Welcome to KDTrace

License: GPL v3 GitHub Workflow Status

Prerequisites

Building KDTrace requires the following software installed:

  • A C++17-compliant compiler
  • CMake >= 3.9
  • Doxygen (optional, documentation building is skipped if missing)* Python >= 3.6 for building Python bindings

Building KDTrace

The following sequence of commands builds KDTrace. It assumes that your current working directory is the top-level directory of the freshly cloned repository:

mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

The build process can be customized with the following CMake variables, which can be set by adding -D<var>={ON, OFF} to the cmake call:

  • BUILD_TESTING: Enable building of the test suite (default: ON)
  • BUILD_DOCS: Enable building the documentation (default: ON)
  • BUILD_PYTHON: Enable building the Python bindings (default: ON)

If you wish to build and install the project as a Python project without having access to C++ build artifacts like libraries and executables, you can do so using pip from the root directory:

python -m pip install .

Testing KDTrace

When built according to the above explanation (with -DBUILD_TESTING=ON), the C++ test suite of KDTrace can be run using ctest from the build directory:

cd build
ctest

The Python test suite can be run by first pip-installing the Python package and then running pytest from the top-level directory:

python -m pip install .
pytest

Documentation

KDTrace provides a Doxygen documentation. You can build the documentation locally by making sure that Doxygen is installed on your system and running this command from the top-level build directory:

cmake --build . --target doxygen

The web documentation can then be browsed by opening doc/html/index.html in your browser.