.gitea/workflows | ||
cmake | ||
core | ||
external | ||
main | ||
packaging | ||
plugins | ||
resources | ||
shared | ||
translations | ||
ui | ||
.gitmodules | ||
.uncrustify.cfg | ||
appveyor.yml | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
LICENSE.md | ||
README.md |
Squawk - a compact XMPP desktop messenger
Prerequisites
- QT 5.12 (lower versions might work but it wasn't tested)
- CMake 3.4 or higher
- qxmpp 1.1.0 or higher
- LMDBAL (my own library for lmdb)
- KDE Frameworks: kwallet (optional)
- KDE Frameworks: KIO (optional)
- KDE Frameworks: KConfig (optional)
- KDE Frameworks: KConfigWidgets (optional)
- Boost (just one little hpp from there)
- Imagemagick (for compilation, to rasterize an SVG logo)
Getting
The easiest way to get the Squawk is to install it from AUR (if you use Archlinux like distribution)
Here is the link for the AUR package
You can also install it from console if you use some AUR wrapper. Here what it's going to look like with pacaur
$ pacaur -S squawk
Building
You can also the repo and build it from source
Squawk requires Qt with SSL enabled. It uses CMake as build system.
Please check the prerequisites and install them before installation.
There are several ways to build Squawk. The one you need depends on whether you have qxmpp
and lmdbal
installed in your system.
Building with system dependencies
This is the easiest way but it requires you to have qxmpp
and lmdbal
installed as system packages. Here is what you do:
$ git clone https://git.macaw.me/blue/squawk
$ cd squawk
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
Building with bundled qxmpp
If you don't have any of qxmpp
or lmdbal
(or both) installed the process is abit mor complicated.
On the configuration stage you need to enable one or both entries in the square brackets, depending on what package your system lacks.
Here is what you do
$ git clone --recurse-submodules https://git.macaw.me/blue/squawk
$ cd squawk
$ mkdir build
$ cd build
$ cmake .. [-D SYSTEM_QXMPP=False] [-D SYSTEM_LMDBAL=False]
$ cmake --build .
For Windows (Mingw-w64) build
Building for windows is not mainteined, but was possible in the past, you can try, but it probably won't work
You need Qt for mingw64 (MinGW 64-bit) platform when installing Qt.
The best way to acquire library lmdb
and boost
is through Msys2.
First install Msys2, and then install mingw-w64-x86_64-lmdb
and mingw-w64-x86_64-boost
by pacman.
Then you need to provide the cmake cache entry when calling cmake for configuration:
<Msys2 Mingw64 Root Directory>
: e.g. C:/msys64/mingw64
.
$ git clone --recurse-submodules https://git.macaw.me/blue/squawk
$ cd squawk
$ mkdir build
$ cd build
$ cmake .. -D SYSTEM_QXMPP=False -D SYSTEM_LMDBAL=False -D LMDB_ROOT_DIR:PATH=<Msys2 Mingw64 Root Directory> -D BOOST_ROOT:PATH=<Msys2 Mingw64 Root Directory>
$ cmake --build .
You can always refer to appveyor.yml
to see how AppVeyor build squawk for windows.
List of keys
Here is the list of keys you can pass to configuration phase of cmake ..
:
CMAKE_BUILD_TYPE
-Debug
just builds showing all warnings,Release
builds with no warnings and applies optimizations (default isDebug
)SYSTEM_QXMPP
-True
tries to link againstqxmpp
installed in the system,False
builds bundledqxmpp
library (default isTrue
)SYSTEM_LMDBAL
-True
tries to link againstLMDABL
installed in the system,False
builds bundledLMDBAL
library (default isTrue
)WITH_KWALLET
-True
builds theKWallet
capability module ifKWallet
is installed and if not goes toFalse
.False
disablesKWallet
support (default isTrue
)WITH_KIO
-True
builds theKIO
capability module ifKIO
is installed and if not goes toFalse
.False
disablesKIO
support (default isTrue
)WITH_KCONFIG
-True
builds theKConfig
andKConfigWidgets
capability module if such packages are installed and if not goes toFalse
.False
disablesKConfig
andKConfigWidgets
support (default isTrue
)WITH_OMEMO
-True
builds the OMEMO encryption, requiresqxmpp
of version >= 1.5.0 built with OMEMO support.False
disables OMEMO support (default isFalse
)
License
This project is licensed under the GPLv3 License - see the LICENSE.md file for details