X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=INSTALL;h=3429f244a4f7f9d2989bfd7608e78ae4774f0741;hp=5c822d6c9ef0d1e5ffbc62104bf49ab46a7334f0;hb=0dbec2cfc937857d66a9645249f876f1e6b3f05e;hpb=609cd2aab2e5d244f9b80b96284c745e64f52fa8 diff --git a/INSTALL b/INSTALL index 5c822d6c..3429f244 100644 --- a/INSTALL +++ b/INSTALL @@ -1,39 +1,135 @@ Quassel IRC - Installation Notes ================================ -These are preliminary instructions, until we get the config more -polished. +These should help you to install Quassel IRC from source. Note that this focuses +mostly on building on Linux; please feel free to send patches for build +instructions on other platforms. We are not familiar with them. -Quassel IRC provides three binaries: quasselcore, quasselclient, and -quassel. While quasselcore and quasselclient obviously provide the -separated core and client functionality, the latter one (quassel) is a -monolithic version containing both of them for convenience. +There are three versions of Quassel that can be built: -To build Quassel IRC, cd to build/ and run qmake && make. This -builds all three versions of Quassel. You may choose individual -targets by setting qmakes BUILD variable: +* quasselcore - The server daemon. Typically runs on a headless server and + is permanently online. The core connects to IRC and stores + both settings and backlog. +* quasselclient - The GUI client. Requires a running quasselcore to connect to. + Upon connection, the client will fetch all session data and + a certain amount of backlog from the core and restore its + session almost as if you were never gone. +* quassel - This standalone version, often called "monolithic" or + "mono client", contains both a client and a core and can be + used like a "normal" IRC client, without having to setup + a server daemon. -qmake BUILD= +Prerequisites +------------- -where is any combination of qtclient, core, mono or all. Note -that in order to change this later, you will have to make distclean, -otherwise the BUILD setting seems to be ignored by qmake. +Of course, for building Quassel you need the usual set of build tools, for +example a compiler. As we use a subset of the C++11 standard, we require a +fairly recent compiler: -After running make, you will find the binaries in build/targets. +- gcc 4.8+ (available for most platforms), or +- Clang 3.3+ (available for most platforms), or +- XCode 5.0+ (available for Max OS X and based on Clang), or +- Visual C++ 2015 (available for Windows™), or +- any other compiler with decent C++11 support -make install will probably do something, but it has never been tried -and may destroy your system or kill a kitten. It's not necessary -anyway, since there are no installable files other than the -binaries. Though this might change in later releases. +Furthermore, CMake 2.8.9 or later is required (2.8.12 for KDE Frameworks). -On first run of the Quassel core, it will wait for a client to connect -and present a (preliminary) first-run wizard. This will allow you to -create the database and one admin user for the core-side storage. Note -that Quassel does not support the administration of user accounts yet, -this includes adding more users, changing passwords and so on. This is -high on our TODO list, of course. +As Quassel is a Qt application, you need the Qt SDK, either Qt 4.8+ or Qt 5.2+. -Please also do read the README file. +There are several optional dependencies; we will talk about that later. -Thanks, -~ The Quassel IRC Team +Compiling Quassel - short version +--------------------------------- + +Quassel uses CMake as its build system. The canonical way to build any CMake- +based project is as follows: + +cd /path/to/source +mkdir build +cd build +cmake .. +make +make install + +Compiling Quassel - long version +-------------------------------- + +First of all, it is highly recommended for any CMake-based project to be built +in a separate build directory rather than in-source. That way, your source +checkout remains pristine, and you can easily remove any build artifacts by just +deleting the build directory. This directory can be located anywhere; in the +short example above, we've just created a directory called "build" inside the +source checkout. + +From inside the build directory, you can then run the "cmake" command, followed +by the path to the source. Additionally, you can append various options. Note +that CMake caches the options you provide on the command line, so if you rerun +it later in the same build directory, you don't need to specify them again. + +Quassel supports several options to enable or disable features, and can make +use of several optional dependencies if installed. CMake will give a nice +summary of all that after its run, so we'll just mention the most important +options here: + +-DWANT_(CORE|QTCLIENT|MONO)=(ON|OFF) + Allow to choose which Quassel binaries to build. + +-DUSE_QT5=ON + Build against Qt5 instead of the default Qt4. Note that you should empty + your build directory when switching between Qt versions, otherwise weird + things may happen. + +-DWITH_KDE=ON + Enable integration into KDE4 (with Qt4) or KDE Frameworks (with Qt5). + +-DWITH_BREEZE=(ON|OFF) + Install the parts of the Breeze icon theme Quassel uses. Breeze is the default + icon theme for Plasma 5, and thus already available on systems where Plasma is + installed. By default, WITH_BREEZE is ON iff WITH_KDE is OFF. If you are + sure that you have the icon set already installed on your system regardless, + use this option to disable installing the bundled icons. + +-DWITH_BREEZE_DARK=(ON|OFF) + Alternative icon theme to Breeze, optimized for dark desktop themes. + By default, WITH_BREEZE_DARK is OFF. + +-DWITH_OXYGEN=(ON|OFF) + Alternative icon theme to Breeze. Oxygen was the default theme in KDE 4, and + also the bundled icon theme in Quassel before version 0.13. + By default, WITH_OXYGEN is OFF. + +-DWITH_WEBENGINE=(ON|OFF) + Use WebEngine for showing previews of webpages linked in the chat. Requires + the QtWebEngine module to be available, and increases the client's RAM usage + by *a lot* if enabled at runtime. Only available for Qt5. The default is ON. + +-DWITH_WEBKIT=OFF + Use WebKit for showing previews of webpages linked in the chat. Requires + the QtWebKit module to be available, and increases the client's RAM usage + by *a lot* if enabled at runtime. + Note that WebKit support is deprecated and mostly unmaintained in Qt, and + should no longer be used for security reasons. The default is OFF. + +-DEMBED_DATA=(ON|OFF) + Specifies whether Quassel's data files (icons, translations and so on) + should be installed normally, or embedded into the binaries. The latter is + useful if you want to run Quassel from the build directory, or don't want + to use a standard installation. In particular, EMBED_DATA defaults to ON + on Windows and OS X, and to OFF on Linux. + +You can find the list of optional packages for additional features in CMake's +feature summary; install missing packages for enabling the functionality listed +in the explanation. If you want to forcefully disable an optional feature, use +-DCMAKE_DISABLE_FIND_PACKAGE_Foo=TRUE, where "Foo" is the package name listed. + +Quassel also supports the usual CMake options, most importantly + +-DCMAKE_INSTALL_PREFIX=/prefix/path - specify the installation prefix +-DCMAKE_BUILD_TYPE=(Debug|Release|RelWithDebug) - specify the build type + +If you want to narrow down the languages to be installed, you can set the +LINGUAS environment variable with a space-separated list of language codes, +for example LINGUAS="de en_US". + +After running CMake, you can just run "make" in the build directory, and +"make install" for installing the result into the installation prefix.