summaryrefslogtreecommitdiffstats
path: root/docs/setting-up-dev-env.md
blob: b11f69eeac6bb4f97ffe774e0d32c2fbe7c72798 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Setting up the development environment

Multiple choices are available for developing the Kube project:

- Manually
- Docker

## Manually

- If sink is not in your repositories:
    - Install the dependencies of Sink:
        - extra-cmake-modules
        - qt5-qtbase-devel / qtbase5-dev
        - libgit2-dev(el)
        - lmdb-devel / liblmdb-dev
        - readline-devel / libreadline-dev
        - libcurl-dev(el)
        - kf5-kimap
        - kf5-kimap-devel
        - [KAsync](https://github.com/KDE/kasync/releases)
    - Install Sink
- Install the Kube project:
    - `mkdir build && cd build && cmake .. && make && sudo make install`

You can also set the `SANITIZE_ADDRESS`, `SANITIZE_MEMORY`, `SANITIZE_THREAD`
and/or `SANITIZE_UNDEFINED` cmake options to build the executables with the
corresponding sanitizer(s) support.

If you did not install sink in the `/usr` directory, you might need to set the
`QT_PLUGIN_PATH` variable to something like this:
`$SINK_INSTALL_PREFIX/lib/plugins`.

In the same way, if did not install Kube in the `/usr` directory, you might
need to set the `QML2_IMPORT_PATH` to something like this:
`$KUBE_INSTALL_PREFIX/lib/qml/`.

## Docker

- Go to the `docker` directory
- In the `run.sh` script, set the SOURCEDIR, BUILDDIR and INSTALLDIR variables
  to an existing path containing respectively the source, build and
  installation directory of kube. The build and installation directory can be
  empty at first.
- Run the `./build.sh` script
- Run the `./run.sh` script
- In the now opened container shell, run `cmake -DCMAKE_INSTALL_PREFIX=/install /src`
- Run `make install`