QtQuick nymea client application
Required packages: It is recommended to install a complete Qt installation. Minimum required Qt version is Qt 6.
No extra modules are required for a basic desktop build.
After cloning the repository, run
$ git submodule init
$ git submodule update
To build a binary with CMake run
$ cmake -S . -B build
$ cmake --build build
The build can be customised with the following cache variables:
-DNYMEA_ENABLE_ZEROCONF=ONenables ZeroConf support when the QtZeroConf and Avahi dependencies are available.-DNYMEA_USE_MATERIAL_ICONS=ONswitches the icon theme to the Material icon set.
Legacy qmake builds are still available by opening nymea-app.pro in QtCreator
and building the project there.
Optional configuration flags to be passed to qmake:
CONFIG+=withtests
Enables building the testrunner target
When targeting Android, the build will download the KDAB
android_openssl package at
configure time and automatically bundle the provided libssl and libcrypto
shared libraries inside the APK. An active internet connection is therefore
required the first time you configure an Android build directory. Other
platforms will build without explicitly linking to OpenSSL if the development
package is not installed.
There is an additional make target named "wininstaller" available. You need to have windeployqt and binarycreator (from Qt Install Framework 3.0) in your system's Path.
Required Packages:
qtdeclarative5-test-pluginnymead
nymea-app can be built with custom styles by passing STYLES_PATH to qmake. Example: $ qmake STYLES_PATH=/home/user/my-styles/
The path must point to a directory containing the following file structure:
- styles.qrc
- styles//logo.svg
styles.qrc should be a Qt qrc file listing all the files inside styles/ providing an logo.svg is the minimum required for a style. In addition to that, any QtQuick.Controls 2 component can be override. See the styles/ directory in this repository fo examples.
In addition to overriding the available app styles, the app can be branded. That means, the style selection will be hidden and the app is locked down to the style given by the BRANDING argument passed to qmake.
Example locking down the app to the "dark" style: $ qmake BRANDING=dark
Brandings will also affect the installer packages. If you use branding in combination with style overrides, you also need to provide a installer package in packages/_ in your styles directory. See the packaging directory in this repository for examples for isntaller packages.
Example: $ qmake STYLES_PATH="C:\path\to\my\styles" BRANDING=mycoolstyle
This would the following minimum files in C:\path\to\my\styles\ :
- styles.qrc
- styles\mycoolstyle\logo.svg
- packaging\windows_mycoolstyle\
nymea-app is licensed under the terms of the GNU General Public License,
version 3 or (at your option) any later version (SPDX identifier:
GPL-3.0-or-later). Every .cpp/.h/.qml file in nymea-app/ and
experiences/ now carries the SPDX + GPL header that attributes both
nymea GmbH and chargebyte austria GmbH [email protected]. The complete
GPL text is available in LICENSE.GPL3, with third-party notices kept in
LICENSES/.
libnymea-app is licensed under the GNU Lesser General Public License
version 3 (SPDX identifier: LGPL-3.0-or-later). The full LGPL v3 text can
be found in LICENSE.LGPL3, and the headers inside libnymea-app/ have
been updated accordingly.