Jump to content

Krita/debbuild: Difference between revisions

From KDE Community Wiki
Halla (talk | contribs)
Miabrahams (talk | contribs)
Stubbed
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
This guide explains how to build Krita from standard Qt 5 and KDE Frameworks 5 development packages provided with Debian/Ubuntu.  Building Krita is fundamentally [https://community.kde.org/Calligra/Building/3 similiar to building Calligra], but there are a few differences. I am too lazy to copy all of those instructions into this page, it would be nice if you did it though. <tt>=)</tt>
This is stubbed out, moved to Krita/linuxbuild.
 
=== Krita's dependencies ===
 
The first important difference is that Krita's dependencies are different. Drumroll, please:
 
sudo apt install extra-cmake-modules  libkf5archive-dev libkf5completion-dev libkf5config-dev
libkf5coreaddons-dev libkf5guiaddons-dev libkf5i18n-dev libkf5itemmodels-dev libkf5itemviews-dev
libkf5widgetsaddons-dev libkf5windowsystem-dev libkf5kiocore5 qtbase5-dev libqt5svg5-dev
qtdeclarative5-dev libqt5x11extras5-dev libqt5opengl5-dev libeigen3-dev libxi-dev libboost-all-dev
libopenexr-dev vc-dev libexiv2-dev libgsl0-dev liblcms2-dev libpoppler-qt5-dev shared-mime-info
 
 
Technically you can get away without each and every one.  KIO is for optional thumbnail integration with Dilphing. QtDeclarative is for Krita Sketch. Poppler is for PDF import. GSL is for the transform tool and eventually the magnetic lasso tool.  Vc is for faster SIMD accelerated painting.  SharedMimeInfo is for determining file types.  If you want to build Krita without these features, you can omit the package.
 
=== Krita's repository ===
The second important difference is that Krita's source repository is different.
 
cd ~/kf5/src              (Or, wherever you want to download the source code)
git clone kde:krita
 
 
=== CMake command ===
The third important difference is that Krita's build system has diverged.  For example, since there is only one product, Krita does not use productsets any longer. This will turn of building tests so that building is faster. <tt>RelWithDebInfo</tt> optimization level is nearly always good enough for everyday debugging, but it is also fast enough to paint with.  <tt>=)</tt>
 
cd ~/kf5/build/krita
cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra -DCMAKE_BUILD_TYPE=RelWithDebInfo
      -DBUILD_TESTING=OFF
make -j12
 
 
Remember that you can change build settings with <tt>cmake . -DNEW_SETTING</tt>  or by using <tt>cmake-gui</tt> found in the package <tt>cmake-qt-gui</tt>
 
=== Environment variables ===
'''XDG_DATA_DIRS.''' If you are OK installing in your home folder, with -DCMAKE_INSTALL_PREFIX=~/, you need only one environment variable to run Krita:
export XDG_DATA_DIRS=$HOME/kde/inst5/share:$XDG_DATA_DIRS
 
'''KRITA_PLUGIN_PATH.''' Currently, running inside a debugger can be a bit fragile due to plugin loading.  Krita's plugins are built in several different paths inside the source directory, and the installation process copies them into a single folder. However the debugger might accidentally not catch onto the plugin installation directory. (For example, if it thinks the plugin path is <tt>./build/krita/plugins/</tt> then it will miss the plugins contained in <tt>./build/plugins/</tt>.  It may be possible in the future to fix this by altering Krita's codebase, but such large changes are not yet possible until the break with Calligra repo is more complete.)
 
You can force Krita to look in a specific folder for plugins using the environment variable <tt>KRITA_PLUGIN_PATH</tt>.  For example, using Kubuntu and installing Krita in ~/, I can use a debugger if I set the environment variable:
export KRITA_PLUGIN_PATH="${HOME}/lib/x86_64-linux-gnu"

Latest revision as of 06:00, 15 November 2015

This is stubbed out, moved to Krita/linuxbuild.