Remove debug message
[quassel.git] / INSTALL
1 Quassel IRC - Installation Notes
2 ================================
3
4 These should help you to install Quassel IRC from source. Note that this focuses
5 mostly on building on Linux; please feel free to send patches for build
6 instructions on other platforms. We are not familiar with them.
7
8 There are three versions of Quassel that can be built:
9
10 * quasselcore   - The server daemon. Typically runs on a headless server and
11                   is permanently online. The core connects to IRC and stores
12                   both settings and backlog.
13 * quasselclient - The GUI client. Requires a running quasselcore to connect to.
14                   Upon connection, the client will fetch all session data and
15                   a certain amount of backlog from the core and restore its
16                   session almost as if you were never gone.
17 * quassel       - This standalone version, often called "monolithic" or
18                   "mono client", contains both a client and a core and can be
19                   used like a "normal" IRC client, without having to setup
20                   a server daemon.
21
22 Prerequisites
23 -------------
24
25 Of course, for building Quassel you need the usual set of build tools, for
26 example a compiler. As we use a subset of the C++11 standard, we require a
27 fairly recent compiler:
28
29 - gcc 4.8+ (available for most platforms), or
30 - Clang 3.3+ (available for most platforms), or
31 - XCode 5.0+ (available for Max OS X and based on Clang), or
32 - Visual C++ 2015 (available for Windows™), or
33 - any other compiler with decent C++11 support
34
35 Furthermore, CMake 2.8.9 or later is required (2.8.12 for KDE Frameworks).
36
37 As Quassel is a Qt application, you need the Qt SDK, either Qt 4.8+ or Qt 5.2+.
38
39 There are several optional dependencies; we will talk about that later.
40
41 Compiling Quassel - short version
42 ---------------------------------
43
44 Quassel uses CMake as its build system. The canonical way to build any CMake-
45 based project is as follows:
46
47 cd /path/to/source
48 mkdir build
49 cd build
50 cmake ..
51 make
52 make install
53
54 Compiling Quassel - long version
55 --------------------------------
56
57 First of all, it is highly recommended for any CMake-based project to be built
58 in a separate build directory rather than in-source. That way, your source
59 checkout remains pristine, and you can easily remove any build artifacts by just
60 deleting the build directory. This directory can be located anywhere; in the
61 short example above, we've just created a directory called "build" inside the
62 source checkout.
63
64 From inside the build directory, you can then run the "cmake" command, followed
65 by the path to the source. Additionally, you can append various options. Note
66 that CMake caches the options you provide on the command line, so if you rerun
67 it later in the same build directory, you don't need to specify them again.
68
69 Quassel supports several options to enable or disable features, and can make
70 use of several optional dependencies if installed. CMake will give a nice
71 summary of all that after its run, so we'll just mention the most important
72 options here:
73
74 -DWANT_(CORE|QTCLIENT|MONO)=(ON|OFF)
75     Allow to choose which Quassel binaries to build.
76
77 -DUSE_QT5=ON
78     Build against Qt5 instead of the default Qt4. Note that you should empty
79     your build directory when switching between Qt versions, otherwise weird
80     things may happen.
81
82 -DWITH_KDE=ON
83     Enable integration into KDE4 (with Qt4) or KDE Frameworks (with Qt5).
84
85 -DWITH_BREEZE=(ON|OFF)
86     Install the parts of the Breeze icon theme Quassel uses. Breeze is the default
87     icon theme for Plasma 5, and thus already available on systems where Plasma is
88     installed. By default, WITH_BREEZE is ON iff WITH_KDE is OFF. If you are
89     sure that you have the icon set already installed on your system regardless,
90     use this option to disable installing the bundled icons.
91
92 -DWITH_BREEZE_DARK=(ON|OFF)
93     Alternative icon theme to Breeze, optimized for dark desktop themes.
94     By default, WITH_BREEZE_DARK is OFF.
95
96 -DWITH_OXYGEN=(ON|OFF)
97     Alternative icon theme to Breeze. Oxygen was the default theme in KDE 4, and
98     also the bundled icon theme in Quassel before version 0.13.
99     By default, WITH_OXYGEN is OFF.
100
101 -DWITH_WEBENGINE=(ON|OFF)
102     Use WebEngine for showing previews of webpages linked in the chat. Requires
103     the QtWebEngine module to be available, and increases the client's RAM usage
104     by *a lot* if enabled at runtime. Only available for Qt5. The default is ON.
105
106 -DWITH_WEBKIT=OFF
107     Use WebKit for showing previews of webpages linked in the chat. Requires
108     the QtWebKit module to be available, and increases the client's RAM usage
109     by *a lot* if enabled at runtime.
110     Note that WebKit support is deprecated and mostly unmaintained in Qt, and
111     should no longer be used for security reasons. The default is OFF.
112
113 -DEMBED_DATA=(ON|OFF)
114     Specifies whether Quassel's data files (icons, translations and so on)
115     should be installed normally, or embedded into the binaries. The latter is
116     useful if you want to run Quassel from the build directory, or don't want
117     to use a standard installation. In particular, EMBED_DATA defaults to ON
118     on Windows and OS X, and to OFF on Linux.
119
120 You can find the list of optional packages for additional features in CMake's
121 feature summary; install missing packages for enabling the functionality listed
122 in the explanation. If you want to forcefully disable an optional feature, use
123 -DCMAKE_DISABLE_FIND_PACKAGE_Foo=TRUE, where "Foo" is the package name listed.
124
125 Quassel also supports the usual CMake options, most importantly
126
127 -DCMAKE_INSTALL_PREFIX=/prefix/path - specify the installation prefix
128 -DCMAKE_BUILD_TYPE=(Debug|Release|RelWithDebug) - specify the build type
129
130 If you want to narrow down the languages to be installed, you can set the
131 LINGUAS environment variable with a space-separated list of language codes,
132 for example LINGUAS="de en_US".
133
134 After running CMake, you can just run "make" in the build directory, and
135 "make install" for installing the result into the installation prefix.