Skip to content

Building the PDGL

Authors
Joe Starr, Ph.D. image

Joe Starr, Ph.D.

I specialize in computational knot theory. I’m also a professional embedded software engineer.

Build from Source

Linux

The PDGL uses the CMake toolchain for building the project. The only supported build environment is under a Linux environment using the Nix package manager with the bundled flake.nix. From inside the development shell you can run the following command to build all wrappers and libraries for the PDGL.

just build_rel

Info

On Linux running Nix you can build all targets with:

just build_all

Windows

Creating a consistent environment in Windows is quite difficult, as such a Windows build toolchain is not supported. Not supported means we won't explicitly assist with setting up or debugging tooling in Windows. If building source on your machine doesn't work try to make your system look like the one configured in the QA and Release GitHub actions.

Minimally, a Windows environment will need:

Note

Windows binaries can also be cross compiled on Linux from within the flake.nix development shell. They can be run and tested from inside wine64.

just build_win

Building for the Web

On Linux from within the flake.nix environment a JavaScript module with WASM can be compiled with Emscripten. This is accomplished by running:

just build_em