moving the bufferoverlay to some static place -> the client singleton
[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 -DWANT_(CORE|QTCLIENT|MONO)=(ON|OFF)
41     Allow to choose which Quassel binaries to build.
42
43 -DWITH_KDE=ON
44     Enable integration into KDE4
45
46 -DWITH_OPENSSL=OFF
47     Disable OpenSSL support
48
49 -DWITH_DBUS=OFF
50     Disable D-Bus support. This will disable support for notification-daemon.
51
52 -DWITH_WEBKIT=OFF
53     Disable WebKit support. You will not have webpage previews on hovering URLs.
54
55 -DWITH_PHONON=OFF
56     Disable support for audio notifications via Phonon.
57
58 -DLINGUAS="<languages">
59     Allow to choose which languages should be compiled into the binary.
60     <languages> is a space- or comma-separated list of language codes.
61     Example: -DLINGUAS="de en_US"
62
63 -DEMBED_DATA=ON
64     Embed all external data files (e.g. icons) into the binary. This will give you a
65     standalone binary that does not require installation. Will be ignored if KDE support
66     is enabled.
67
68 -DQT=/path/to/qt
69     Use a non-system Qt installation. This is for example useful if you have a static
70     Qt installed in some local dir.
71
72 -DSTATIC=ON
73     Enable static building of Quassel. On Linux, you should link the static versions of some libs
74     (in particular libstdc++.a) into /path/to/build/dir/staticlibs in oder to create
75     a portable binary! Be aware of the fact that some things we do in STATIC mode might not be portable
76     or require a particular setup; it's mainly meant for the devel team. See also doc/.
77
78 BUILDING ON WINDOWS:
79 --------------------
80 We have tested building on Windows with a statically built Qt (with its /bin directory in %PATH%)
81 and MSVC 2005/2008. Make sure that you use a "shell" that has all needed env variables setup,
82 such as the "Visual Studio Command Prompt". You will also need the /bin of the Microsoft SDK in
83 your %PATH% at least for VS 2008, otherwise rc.exe is not found.
84 Currently, only building in the shell using nmake seems to work; CMake can also create MSVC project
85 files, but they seem to be problematic. However, YMMV. Software development on Windows is a real
86 PITA.
87
88 After you have everything setup:
89
90 cd C:\path\to\quassel-build
91 cmake -G"NMake Makefiles" C:\path\to\quassel\source -DSTATIC=1
92 nmake