At popular demand, move the installing of the cmake support file
that lets external projects find the Flowee libs to our libs dir.
This has the effect that a user can selectively compile and install
the libs dir only in order to use our libraries.
The latest Qt (5.15) is advertised to be the last before Qt6.
As a result the Qt devs have already made a lot of small refactors,
but just mark old methods deprecated.
When we start requiring at minimum Qt5.15 this will help us, so far
the deprecation methods are just noise we can't fix without
breaking people's builds. So turn them off.
As the compile may or may not link to GMP, using projects
need to link to this too. Dynamic libs handle this, we ship
static libs and thus we need to handle this ourselves.
We reuse the NetworkManager lower level code in order to connect
to the Bitcoin P2P network.
This implements the basics for anyone wanting to be a player on
this network.
From now on, make sure that the minor always has at least 2 digits
which allows us to use string compare of versions even if we have
more than 9 releases in a year.
Move some files back to the server "library".
Merge the 'console' lib with server, as it doesn't really make sense with
just one file and nobody exclusively linking to it.
The server "libary" is not really a library, its the place we put all
the files shared by hub-qt hub-cli and hub.
We no longer depend on these files from other places (mostly due to
moving to the new logging framework) and as such we can move the files
back.
The very famous bitcore project presents an JSON based service which
presents blockchain data. This application aims to duplicate all the same
functionality but by using Flowee services instead.
On MacOS compilation requires linking in bundles from the Qt libs,
which on the testers computer didn't happen and as such I'll just
disable the GUI compile for now on MacOS so focus can be had on
already working stuff.
For service applications that bind to networks (currently
only indexer) this allows users to pass the address:
0.0.0.0
to bind to. The effect will be that we find all the network
interfaces in the system and bind to all of them.
Notice that we already had "localhost" as an alias to bind to both
v4 and v6 loopback interfaces.
This new feature depends on optional dependency QtNetwork.