This repo builds the standalone qmlls binaries, for use by LSP clients that want to download qmlls. For documentation on qmlls itself, see here.
Standalone qmlls refers to a static build of qmlls that can be shipped independently from the Qt release cycle. The standalone qmlls and the qmlls shipped with Qt offer more or less the same functionality, up to some differences:
| Feature | qmlls shipped with Qt | standalone qmlls |
|---|---|---|
| Can be downloaded from Github | ❌ | ✅ |
| Can be released outside of the Qt release schedule | ❌ | ✅ |
| Can be run without installing Qt | ❌ | ✅ |
| Is built from qtdeclarative's | release branch | dev branch |
| Platform | Is supported? |
|---|---|
| macOS universal | ✅ |
| windows x64 | ✅ |
| windows arm64 | ✅ |
| linux x64 | ✅ |
| linux arm64 |
You can download the latest standalone qmlls from https://qtccache.qt.io/QMLLS/LatestRelease and all other releases from https://github.com/TheQtCompanyRnD/qmlls-workflow/releases.
Release 0.6 and later name their archive as following:
- qmlls-windows-x64-X.Y.zip
- qmlls-windows-arm64-X.Y.zip
- qmlls-macos-universal-X.Y.zip
- qmlls-linux-x64-X.Y.zip
- qmlls-linux-arm64-X.Y.zip
Releases should happen every 1-3 months and nightly releases every week. Nightly releases follow a different versioning pattern "year.weeknumber".
LSP clients for C++ projects targeting Qt 6.10 or later and using CMake need to pass the project build folder to qmlls. See the documentation here on how to pass the build folder.
Note that qmlls reads the other required information (import paths, documentation paths, ...) from a .qmlls.build.ini file in the build folder, which is automatically generated by CMake for Qt 6.10.
LSP clients for C++ projects targeting Qt 6.8 and using CMake need to pass some extra information to qmlls.
The simplest way (if possible) is to set the QT_QML_GENERATE_QMLLS_INI CMake variable to ON in the project, as described here.
If that is not possible, then build folder and import paths need to be passed to qmlls by following all the steps described here.