Trndi - CGM Data on Desktop & Raspberry Pi

Dependancies

mORMot2

Trndi depends on mORMot2 for the JavaScript engine, it does not use anything else from the library at this time. It can be installed via the Online Package Manager in Lazarus, or GitHub.

JavaScript (if built with Extensions on)

Ignore this part if building with the “No Ext” mode

The JS engine, QuickJS, is linked into Trndi statically.

To compile Trndi with extensions support you need the relevant QuickJS library files.

You can get the recommended libraries from https://synopse.info/files/mormot2static.7z. You only need to keep the QuickJS files. You can check the linker’s output to see which files that is.

Building without extensions

When building without extensions, you need to install the mORMot2 library - or remove it from the Project Inspector. Trndi will build fine without changing the project, if mORMot2 is available.

Qt6

You need libqt6pas, and it’s development packages. These are normally available with your distro. See the Linux section in README.md on how to install libqt6pas.

Code Style

Linter

Trndi uses JEDI to format code, in Lazarus: Source > JEDI Code Format > Global Settings. Choose JCFSettings.xml from this repo.

Naming

Units should end with .pp,

VSCode

Should you choose not to use Lazarus IDE, these are the recommendations for Visual Studio Code: