forked from qxmpp-project/qxmpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
32 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2009 Manjeet Dahiya <[email protected]> | |
SPDX-License-Identifier: CC0-1.0 | ||
--> | ||
|
||
# QXmpp - Cross-platform Qt/C++ XMPP library | ||
# QXmpp - Cross-platform C++/Qt XMPP library | ||
|
||
<h1 align="center"> | ||
<picture> | ||
|
@@ -40,26 +40,28 @@ SPDX-License-Identifier: CC0-1.0 | |
</a> | ||
</p> | ||
|
||
## About | ||
QXmpp is a cross-platform C++ XMPP client and server library. It is written | ||
in C++ and uses the Qt framework. | ||
|
||
QXmpp is a cross-platform C++ XMPP client and server library. It is written in C++ and uses the Qt framework. | ||
|
||
QXmpp strives to be as easy to use as possible. The underlying TCP socket, the core XMPP RFCs (RFC6120 and RFC6121) and the [supported XMPP extensions][xeps] have been nicely encapsulated in classes. | ||
With QXmpp, it is possible to build XMPP clients complying with the [XMPP Compliance Suites 2022][xmpp-compliance] for IM and Advanced Mobile. | ||
QXmpp strives to be as easy to use as possible. The underlying TCP socket, the core XMPP RFCs | ||
(RFC6120 and RFC6121) and the [supported XMPP extensions][xeps] have been nicely encapsulated in | ||
classes. | ||
With QXmpp, it is possible to build XMPP clients complying with the | ||
[XMPP Compliance Suites 2022][xmpp-compliance] for IM and Advanced Mobile. | ||
It comes with full API documentation, automatic tests and examples. | ||
|
||
QXmpp uses Qt extensively. | ||
Thus, users need to have a good knowledge of C++ and Qt basics (inlcuding the concept of signals/slots and Qt's data types). | ||
Qt is the only third party library required to build QXmpp. | ||
But libraries such as GStreamer enable additional features. | ||
QXmpp uses Qt extensively. Thus, users need to have a good knowledge of C++ and Qt basics | ||
(including the concept of signals/slots and Qt's data types). | ||
Qt is the only third party library required to build QXmpp, but libraries such as GStreamer enable | ||
additional features. | ||
|
||
QXmpp is released under the terms of the GNU Lesser General Public License, version 2.1 or later. | ||
|
||
## Building | ||
|
||
QXmpp requires **Qt 5.15 or Qt 6.0 or higher** with SSL enabled. | ||
QXmpp requires **Qt 5.15** or **Qt 6.0 or higher** with SSL enabled. | ||
|
||
You can build QXmpp via CMake: | ||
You can build QXmpp with CMake: | ||
``` | ||
mkdir build | ||
cd build | ||
|
@@ -69,20 +71,25 @@ cmake --build . | |
|
||
You can pass the following arguments to CMake: | ||
|
||
Argument | Description | ||
--|-- | ||
`-DBUILD_SHARED=ON` | Build with shared type library, otherwise static (default: `ON`) | ||
`-DBUILD_DOCUMENTATION=ON` | Build documentation, requires Doxygen (default: `OFF`) | ||
`-DBUILD_EXAMPLES=ON` | Build examples (default: `ON`) | ||
`-DBUILD_TESTS=ON` | Build unit tests (default: `ON`) | ||
`-DBUILD_INTERNAL_TESTS=ON` | Build unit tests testing private parts of the API (default: `OFF`) | ||
`-DBUILD_OMEMO=ON` | Build [OMEMO module][omemo] (default: `OFF`) | ||
`-DWITH_GSTREAMER=ON` | Enable audio/video over Jingle (default: `OFF`) | ||
`-DQT_VERSION_MAJOR=5/6` | to build with a specific Qt major version (default: `6`) | ||
Option | Default | Description | ||
---|---|--- | ||
`BUILD_SHARED` | `ON` | Build as shared library, otherwise static | ||
`BUILD_DOCUMENTATION` | `ON` | Build documentation, requires Doxygen | ||
`BUILD_EXAMPLES` | `ON` | Build examples | ||
`BUILD_TESTS` | `ON` | Build unit tests | ||
`BUILD_INTERNAL_TESTS` | `OFF` | Build unit tests testing private parts of the API | ||
`BUILD_OMEMO` | `OFF` | Build the [OMEMO module][omemo] | ||
`WITH_GSTREAMER` | `OFF` | Enable audio/video over Jingle | ||
`QT_VERSION_MAJOR=5/6` | `` | to build with a specific Qt major version, prefers Qt 6 if undefined | ||
|
||
For example, to build without unit tests you could do: | ||
``` | ||
cmake .. -DBUILD_TESTS=OFF | ||
``` | ||
|
||
## Installing | ||
|
||
After building QXmpp, you can install the headers, libraries and documentation using the following command: | ||
After building QXmpp, you can install it using the following command: | ||
``` | ||
cmake --build . --target install | ||
``` | ||
|
@@ -103,7 +110,8 @@ The example helps to understand how to receive and send messages. | |
|
||
## Documentation | ||
|
||
There is an API documentation for the [latest stable QXmpp version][qxmpp-documentation] and one for the [master branch][qxmpp-master-documentation]. | ||
There is an API documentation for the [latest stable QXmpp version][qxmpp-documentation] and one | ||
for the [master branch][qxmpp-master-documentation]. | ||
|
||
## Supported Platforms | ||
|
||
|