test: Add GTest printers for commonly used Qt types
[quassel.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index a9dc9e2..2d5d58d 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -23,20 +23,20 @@ Prerequisites
 -------------
 
 Of course, for building Quassel you need the usual set of build tools, for
 -------------
 
 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:
+example a compiler. The codebase uses the C++14 standard, so a reasonably recent
+compiler is needed:
 
 
-- gcc 4.7+ (available for most platforms), or
-- Clang 3.2+ (available for most platforms, or
-- XCode 4.6+ (available for Max OS X and based on Clang), or
-- Visual C++ 2013 (available for Windows™), or
-- any other compiler with decent C++11 support
+- GCC 5.0+ (available for most platforms), or
+- Clang 3.4+ (available for most platforms), or
+- XCode 6.0+ (available for Max OS X and based on Clang), or
+- MSVC 19+ (part of Visual Studio 2017 on Windows™)
 
 
-Furthermore, CMake 2.8.9 or later is required.
+Other compilers may work, but are not officially supported.
 
 
-As Quassel is a Qt application, you need the Qt SDK, either Qt 4.6+ or Qt 5.2+.
-
-There are several optional dependencies; we will talk about that later.
+As Quassel is a Qt application, you need the Qt SDK, version 5.5 or higher.
+Furthermore, the Boost header-only libraries (at least version 1.56) and
+CMake 3.5 or later are required. CMake will tell you about any missing
+dependencies when configuring the project.
 
 Compiling Quassel - short version
 ---------------------------------
 
 Compiling Quassel - short version
 ---------------------------------
@@ -58,7 +58,7 @@ 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
 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 just created a directory called "build" inside 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
 source checkout.
 
 From inside the build directory, you can then run the "cmake" command, followed
@@ -72,27 +72,44 @@ summary of all that after its run, so we'll just mention the most important
 options here:
 
 -DWANT_(CORE|QTCLIENT|MONO)=(ON|OFF)
 options here:
 
 -DWANT_(CORE|QTCLIENT|MONO)=(ON|OFF)
-    Allow to choose which Quassel binaries to build.
+    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.
+-DUSE_CCACHE=ON
+    Enable ccache if the ccache binary is available. This avoids the need for
+    hacks using PATH or the CXX variable to make ccache work.
+    Distributors may want to disable automatic detection if they have their
+    own caching mechanism set up.
 
 -DWITH_KDE=ON
 
 -DWITH_KDE=ON
-    Enable integration into KDE4; only available if -DUSE_QT5=OFF
-
--DWITH_OXYGEN=(ON|OFF)
-    Install the parts of the Oxygen icon set Quassel uses. Oxygen is the default
-    icon set for KDE4, and thus already available on systems where KDE4 is
-    installed. By default, WITH_OXYGEN 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.
+    Enable integration with the KDE Frameworks runtime environment
+
+-DWITH_BUNDLED_ICONS=ON
+    Quassel requires a number of icons that are part of the KDE/Plasma icon themes
+    Breeze and Oxygen, but are generally not supported by other themes. In order
+    to avoid missing icons, Quassel bundles the subset of icons it uses from the
+    afforementioned themes, and uses that as a fallback if the system theme does
+    not provide a required icon.
+    If it is ensured that Breeze and/or Oxygen are installed on your system (e.g.
+    through package dependencies), this option can be turned off to save less
+    than 2 MB of disk space.
+
+-DWITH_OXYGEN_ICONS=(ON|OFF)
+    Support the Oxygen icon theme. Oxygen was the default theme in KDE 4, and
+    also the bundled icon theme in Quassel before version 0.13. Since the move
+    to Qt5, the more modern Breeze icon theme is preferred, and thus Oxygen
+    is disabled by default.
+
+-DWITH_WEBENGINE=ON
+    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. The default is ON.
 
 -DWITH_WEBKIT=OFF
 
 -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
+    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.
     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)
 
 -DEMBED_DATA=(ON|OFF)
     Specifies whether Quassel's data files (icons, translations and so on)