RayZaler 0.1
The free opto-mechanical simulation framework
Building and installing RayZaler

We have no prebuilt binaries (yet), so you will need to build RayZaler from source. At the present time, the only supported platform is GNU/Linux, although it may also be built in other Unix-like systems (like macOS).

Requirements

You will need to install these packages (along with their development files) to build RayZaler:

If you are in a Debian-based system (except Ubuntu), you can install all these dependencies by pasting the following command in the terminal.

$ sudo apt update
$ sudo apt install gcc git bison libpng++-dev python3 \
swig4.0 python3-numpy qt6-base-dev qt6-base-dev-tools \
libqt6opengl6-dev libosmesa6-dev libfreetype-dev

In Ubuntu packages and dependencies are slightly different, and the dependencies are the following:

$ sudo apt update
$ sudo apt install gcc git bison libpng++-dev python3-dev \
swig python3-numpy qt6-base-dev qt6-base-dev-tools        \
libqt6opengl6-dev libosmesa6-dev libfreetype-dev          \
libglu1-mesa-dev libglut-dev pip python3-venv libqt6svg6  \
libqt6svgwidgets6

Downloading the code

You can download the latest changes in RayZaler with:

$ git clone --recurse-submodules https://github.com/HARMONI-CAB/RayZaler

Note that --recurse-submodules is needed, as the repository depends on Catch2 for unit testing.

Building and installing

RayZaler is a CMake project, and the steps are fairly standard. Just run, in order:

$ cd RayZaler
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

If the installation process was successful, the following elements should have been installed in your system:

  • The graphical application RZGUI, the RayZaler's graphical interface for interactive model navegation, simulation and debugging
  • The command line tool RZViewer, a smaller command-line tool that allows you to visualize RayZaler model files.
  • libRZ, the library containing RayZaler's modelization and simulation code.
  • The Python package RayZaler, to use RayZaler from Python scripts.

Running unit tests

It is in general a good practice to run all unit tests to make sure this version of RayZaler will work as expected in your computer. After the sudo make install step, run:

$ LibRZTests/RZTests

If all tests passed successfully, you should see an output like:

$ LibRZTests/RZTests
(... lots of log messages ...)
===============================================================================
All tests passed (XXXXX assertions in YY test cases)
$

If any of the unit tests has failed, you should see an error message with the number of failing tests. If this was the case, feel free to open an issue in the project's GitHub page.