Warning, /pim/kube/docs/setting-up-dev-env.md is written in an unsupported language. File is not indexed.

0001 # Setting up the development environment
0002 
0003 Multiple choices are available for developing the Kube project:
0004 
0005 - Manually
0006 - Docker
0007 
0008 ## Manually
0009 
0010 - If sink is not in your repositories:
0011     - Install the dependencies of Sink:
0012         - extra-cmake-modules
0013         - qt5-qtbase-devel / qtbase5-dev
0014         - libgit2-dev(el)
0015         - lmdb-devel / liblmdb-dev
0016         - libcurl-dev(el)
0017         - flatbuffers-dev
0018         - [KAsync](git://anongit.kde.org/kasync)
0019         - [KMime](git://anongit.kde.org/kmime)
0020         - [KCalendarCore](git://anongit.kde.org/kcalcore)
0021         - [KDAV2](git://anongit.kde.org/kdav2)
0022         - [KIMAP2](git://anongit.kde.org/kimap2)
0023     - Install Sink
0024 - Install the Kube project:
0025     - `mkdir build && cd build && cmake .. && make && sudo make install`
0026 
0027 If you did not install sink in the `/usr` directory, you might need to set the
0028 `QT_PLUGIN_PATH` variable to something like this:
0029 `$SINK_INSTALL_PREFIX/lib/plugins`.
0030 
0031 In the same way, if did not install Kube in the `/usr` directory, you might
0032 need to set the `QML2_IMPORT_PATH` to something like this:
0033 `$KUBE_INSTALL_PREFIX/lib/qml/`.
0034 
0035 ### Flatbuffers
0036 
0037 If your distro has a package, simply installing it should do the trick.
0038 
0039 If it doesn't (yet), follow the instructions here: http://google.github.io/flatbuffers/flatbuffers_guide_building.html
0040 
0041 Sink will require the flatc executable to generate some relevant headers that we require.
0042 
0043 ## Docker
0044 Building kube in a docker containers ensures reproducability and decouples the development environment from the host system (so upgrading your host system doesn't break all your builds). To avoid having to develop inside the container directly, source, build and install directories reside on the host system.
0045 
0046 - Go to the `docker` directory
0047 - In the `Makefile`, set the SOURCEDIR, BUILDDIR and INSTALLDIR variables
0048   to an existing path containing respectively the source, build and
0049   installation directory of kube. The build and installation directory should be
0050   empty at first, for the source directory you may use an existing directory containing the necessary source directories.
0051 - Run the `make build` script
0052 - Run the `make run` script
0053 - If you don't have the sources available yet, run the `~/initrepositories.sh` script
0054 - To configure the build directories, for each repository:
0055     - `mkdir /build/$REPO && cd /build/$REPO`
0056     - `cmake -DCMAKE_INSTALL_PREFIX=/install /src/$REPO`
0057     - `make && make install`
0058 - You can now edit the sources outside the container, and build and run kube inside the container.