Standalone build environmentΒΆ is the root script used to prepare a standalone virtual environment for casual users and developers. If you are a packager, you probably do not want to use this script and instead package every component independently using their respective build systems (meson for libnopegl and ngl-tools, pip for pynopegl and pynopegl-utils).

The goal of this script is to have an isolated environment without being intrusive on the host system, being as simple and straightforward as possible for the end-user. The script is written in Python3 so you will need to have it installed on your system.

./ -h displays all the controls available for that environment. This command by default creates a Python Virtual environment in the venv directory (unless customized to something else with the -p option). In this virtual environment, pip is installed, along with meson (needed for building some of our components) and various other module requirements. A few external dependencies such as are then pulled, and a Makefile is generated.

The generated Makefile (compatible NMake on Windows and GNU/Make on other systems) provides a build chain for compiling and installing the components within this environment.

Running make (or nmake) is re-entrant, so developers can do their modifications to the code and iterate easily. It is possible to iterate faster by selecting the specific build chain rule, for example: make nopegl-install.

After the build, it is possible to enter the environment with the provided activation command to access the tools (ngl-control, ngl-desktop, etc.), as well as importing pynopegl and pynopegl-utils within Python.

The temporary build files are located in builddir. This means that if the virtual env is activated, you can also typically manually run meson commands from here.