libretroshare (not all build options yet) and it's dependencies can now
be built using CMake instead of qmake.
Even Qt itself deprecated qmake, which is not developed anymore, as
build system and it was making many things much more difficult
and requiring an enormous amount of black magic to support a wide
range of platforms.
libretroshare can now easly be build as static or shared library with
simple commands and a maintaniable build system:
```
cmake \
-D RS_LIBRETROSHARE_STATIC=OFF -D RS_LIBRETROSHARE_SHARED=ON \
-S $YOUR_RS_SOURCE_DIR/libretroshare/ -B .
make
```
Xapian have support for wildcard search
wild* matches wild, wildcard, wildcat, wilderness
but it need to be enabled by passing a specific flag to the query
parser, this is very useful for forum search so enable it in addition
to default Xapian search capabilities
This could be used to request the online peers to pull updates from us
ASAP, as an exaple when a group is created a pull request can be
emitted too so the online peers pull the groups from us ASAP instead
of waiting for the usual 60 seconds. A mechanism like this is
especially useful on mobile phones where the internet connection is
usually turned on only in a few moments (as an example while the user
is interacting with the app).
Cleanup a few old corners in the code keeping retro-compatibility and
make the code more welcoming to new developers.
Put a bunch of dead code under #ifdef.
One of the reason libretroshare dependend on Qt on Android
and in particular in networking module is the lack of
`getifaddrs` with API level < 24, we included Android
Gingerbread internal implementation so this dependency can be avoided
at compile time.
The code depending on Qt has been placed under `#if` and can be enabled
at compile time by appending `DEFINES+=LIBRETROSHARE_ANDROID_IFADDRS_QT`
to `qmake` command line.
Avoid compiler warning due to virtual method being called in destructor
at this point the empty default version would be called without damage
but making the compiler concernig about the semantic being different
from the one the programmer meant.
Delete old superseeded function and do not depend on it on RsThread.
mGroupFlags & GXS_SERV::FLAG_PRIVACY_PUBLIC is always true for forums
even if they are circle restricted, use circle flags to check if it
is really public