Smart Irrigation is not only about saving water or having healthier plants. It is mostly convenience that convinces the consumer to buy a smart irrigation system. Most people don't want to have to worry about their garden. They just want it to be a place to relax.

Compile nymea from source code

nymea is written in Qt which is a full development framework with tools designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms. With Qt, you can reuse code efficiently to target multiple platforms with one code base.

You need a Qt version >= 5.5

Officially, nymea is supported only on Linux platforms, which means this guide is for Linux users only.

Note: It's good practice to create a sub folder with the name of the application. The QtCreator, by default, will create a build directory next to the source folder. This keeps the source folder free of output and binary files.

Now open the project file (/nymea/nymea.pro) with the QtCreator and configure your project. You can use the default setting, which will create a build-nymea-<Kit>-Debug directory next to the source code directory where all build output files and binaries will be generated.

In order to speed up the the compilation process you can check how many CPU's you have:

$ nproc
8

In the QtCreator (nymea.pro opened) do following steps:

Go to Projects on the left side of the window.

Go to the Build tab of your Kit

Under Build Steps click on Detail of the Make: line

Write in the Make arguments field: -j9

Note: the -j argument specifies the number of jobs (commands) to run simultaneously. With n CPU's you can run n+1 jobs.

Press the Build button on the bottom left of the QtCreator window (Ctrl + b) and follow the build process in the Compile output section (Alt + 4).

Before you can run the fresh compiled nymea binary, you need to export the library path to the libnymea and libnymea-core, otherwise you will get following message:

Note: It's good practice to create a sub-folder with the name of the application and create a build directory next to the source directory. This keeps the source folder free of output and binary files.