types.h: add missing include
[quassel.git] / INSTALL
1 Quassel IRC - Installation Notes
2 ================================
3
4 These should help you to install Quassel IRC from source. Please also have a
5 look at the README file!
6
7 Quassel IRC provides three binaries: quasselcore, quasselclient, and
8 quassel. While quasselcore and quasselclient obviously provide the
9 separated core and client functionality, the latter one (quassel) is a
10 monolithic version containing both of them for convenience.
11
12 Note that quasselcore is no longer being built by default, since it tends to
13 confuse users more than it helped. It will be back as soon as we have simple mode
14 implemented.
15
16 We now use CMake as our build system. CMake supports and encourages out-of-source 
17 builds, which do not clutter the source directory. You can (and should) thus use 
18 an arbitrary directory for building.
19
20 There is no "make distclean"; "make clean" should usually be enough since CMake
21 actually cleans up properly (qmake often didn't). If you really want to get rid
22 of all build files, just remove the build directory.
23
24 Usually, you will build Quassel as follows:
25
26 cd /path/to/build/dir
27 cmake /path/to/quassel
28 make
29
30 Additionally, you may add some options to the cmake call, prefixed by -D. These need
31 to follow the source directory PATH:
32
33 cmake /path/to/quassel -D<option1> -D<option2>
34
35 NOTE: In order to reconfigure, you need to remove CMakeCache.txt (or empty
36       the build directory), otherwise cmake will ignore modified -D options!
37
38 Quassel recognizes the following options:
39
40 LINGUAS="<languages">
41     Allow to choose which languages should be compiled into the binary.
42     <languages> is a space- or comma-separated list of language codes.
43     Note that this is not a cmake variable, but an environment variable.
44     Example: LINGUAS="de en_US"
45
46 -DWANT_(CORE|QTCLIENT|MONO)=(ON|OFF)
47     Allow to choose which Quassel binaries to build.
48
49 -DWITH_KDE=ON
50     Enable integration into KDE4
51
52 -DWITH_OXYGEN=(ON|OFF|AUTO)
53     Whether to install Oxygen icons used by Quassel. By default (AUTO) we don't install them if
54     KDE integration is enabled and KDE > 4.3.0 is present, as all needed icons are part of the
55     system Oxygen iconset in this case. Using ON or OFF you can override automatic detection.
56
57 -DWITH_OPENSSL=OFF
58     Disable OpenSSL support
59
60 -DWITH_DBUS=OFF
61     Disable D-Bus support. This will disable support for notification-daemon.
62
63 -DWITH_WEBKIT=OFF
64     Disable WebKit support. You will not have webpage previews on hovering URLs.
65
66 -DWITH_PHONON=OFF
67     Disable support for audio notifications via Phonon.
68
69 -DWITH_LIBINDICATE=OFF
70     Disable support for Ayatana notifications (libindicate-qt)
71
72 -DWITH_CRYPT=OFF
73     Disable crypt support
74
75 -DEMBED_DATA=ON
76     Embed all external data files (e.g. icons) into the binary. This will give you a
77     standalone binary that does not require installation. Will be ignored if KDE support
78     is enabled.
79
80 -DQT=/path/to/qt
81     Use a non-system Qt installation. This is for example useful if you have a static
82     Qt installed in some local dir.
83
84 -DSTATIC=ON
85     Enable static building of Quassel. On Linux, you should link the static versions of some libs
86     (in particular libstdc++.a) into /path/to/build/dir/staticlibs in oder to create
87     a portable binary! Be aware of the fact that some things we do in STATIC mode might not be portable
88     or require a particular setup; it's mainly meant for the devel team. See also doc/.
89
90 BUILDING ON WINDOWS:
91 --------------------
92 We have tested building on Windows with a statically built Qt (with its /bin directory in %PATH%)
93 and MSVC 2005/2008. Make sure that you use a "shell" that has all needed env variables setup,
94 such as the "Visual Studio Command Prompt". You will also need the /bin of the Microsoft SDK in
95 your %PATH% at least for VS 2008, otherwise rc.exe is not found.
96 Currently, only building in the shell using nmake seems to work; CMake can also create MSVC project
97 files, but they seem to be problematic. However, YMMV. Software development on Windows is a real
98 PITA.
99
100 After you have everything setup:
101
102 cd C:\path\to\quassel-build
103 cmake -G"NMake Makefiles" C:\path\to\quassel\source -DSTATIC=1
104 nmake