modernize: Use C++ versions of system headers
[quassel.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index a9dc9e2..2de2f75 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -23,18 +23,19 @@ 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.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+.
+Furthermore, CMake 3.5 or later is required.
+
+As Quassel is a Qt application, you need the Qt SDK, version 5.5 or higher.
 
 There are several optional dependencies; we will talk about that later.
 
@@ -58,7 +59,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
-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
@@ -72,27 +73,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; 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
-    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.
+    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)