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.
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.
../static when compiling from GitHub.~/.lazarus/onlinepackagemanager/packages/mORMot2/static, or on Windows: C:\Users\<you>\AppData\Local\Lazarus\onlinepackagemanager\packages\mORMot2\staticYou 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.
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.
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.
Trndi uses JEDI to format code, in Lazarus: Source > JEDI Code Format > Global Settings. Choose JCFSettings.xml from this repo.
Units should end with .pp,
Should you choose not to use Lazarus IDE, these are the recommendations for Visual Studio Code:
Language Support: https://marketplace.visualstudio.com/items?itemName=alefragnani.pascal
Formatting: Name: Pascal Formatter VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=alefragnani.pascal-formatter