tests: Verify ExpressionMatch test data won't OOB
[quassel.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 39f4054..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
-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.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
+- 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 (2.8.12 for KDE Frameworks).
+Other compilers may work, but are not officially supported.
 
-As Quassel is a Qt application, you need the Qt SDK, either Qt 4.8+ 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
 ---------------------------------
@@ -72,28 +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)
-    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
-    Enable integration into KDE4 (with Qt4) or KDE Frameworks (with Qt5).
-
--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
-    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 also that Webkit frequently crashes
-    especially on Windows.
+    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)