Qt6 support (#1363)

* Initial Qt6 config

* Change Package order to reingfence missing packages

* Update to QT 6.2.0

* Qt 6.2.0 updates

* macOS fix

* Simplify handling QT5 & Qt6 in parallel

* Updates for Windows

* Fix macos build

* macOS linker fix

* General support of QTDIR, update docu

* MaxOS add default qt directories

* Fix merge typo

* Update default CMakeSettings.json with installation path options

* Add additional libs required by Qt6 to CompileHowTo

* Fix Qt5 items

Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
This commit is contained in:
LordGrey
2021-11-16 17:12:56 +00:00
committed by GitHub
parent 3b1ca20b10
commit 25d79a9f3f
76 changed files with 645 additions and 541 deletions

View File

@@ -9,6 +9,6 @@ add_library(ssdp
)
target_link_libraries(ssdp
Qt5::Network
Qt${QT_VERSION_MAJOR}::Network
webserver
)

View File

@@ -17,10 +17,10 @@ namespace {
// as per upnp spec 1.1, section 1.2.2.
const QString UPNP_DISCOVER_MESSAGE = "M-SEARCH * HTTP/1.1\r\n"
"HOST: %1:%2\r\n"
"MAN: \"ssdp:discover\"\r\n"
"MAN: \"ssdp:discover\"\r\n"
"MX: %3\r\n"
"ST: %4\r\n"
"\r\n";
"\r\n";
} //End of constants
SSDPDiscover::SSDPDiscover(QObject* parent)
@@ -300,7 +300,7 @@ QJsonArray SSDPDiscover::getServicesDiscoveredJson() const
{
QJsonArray result;
QMap<QString, SSDPService>::const_iterator i;
QMultiMap<QString, SSDPService>::const_iterator i;
for (i = _services.begin(); i != _services.end(); ++i)
{
//Debug(_log, "Device discovered at [%s]", QSTRING_CSTR( i.key() ));

View File

@@ -7,7 +7,9 @@
#include <hyperion/AuthManager.h>
#include <QNetworkInterface>
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#include <QNetworkConfigurationManager>
#endif
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
#include <QRandomGenerator>
@@ -19,7 +21,9 @@ SSDPHandler::SSDPHandler(WebServer* webserver, quint16 flatBufPort, quint16 prot
: SSDPServer(parent)
, _webserver(webserver)
, _localAddress()
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
, _NCA(nullptr)
#endif
{
setFlatBufPort(flatBufPort);
setProtoBufPort(protoBufPort);
@@ -45,14 +49,15 @@ void SSDPHandler::initServer()
// prep server
SSDPServer::initServer();
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
_NCA = new QNetworkConfigurationManager(this);
connect(_NCA, &QNetworkConfigurationManager::configurationChanged, this, &SSDPHandler::handleNetworkConfigurationChanged);
#endif
// listen for mSearchRequestes
connect(this, &SSDPServer::msearchRequestReceived, this, &SSDPHandler::handleMSearchRequest);
connect(_NCA, &QNetworkConfigurationManager::configurationChanged, this, &SSDPHandler::handleNetworkConfigurationChanged);
// get localAddress from interface
if(!getLocalAddress().isEmpty())
{
@@ -138,6 +143,7 @@ void SSDPHandler::handleWebServerStateChange(bool newState)
}
}
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
void SSDPHandler::handleNetworkConfigurationChanged(const QNetworkConfiguration &config)
{
// get localAddress from interface
@@ -154,6 +160,7 @@ void SSDPHandler::handleNetworkConfigurationChanged(const QNetworkConfiguration
sendAnnounceList(true);
}
}
#endif
QString SSDPHandler::getLocalAddress() const
{