Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-126583

6.7.2 qtwebsockets: missing cmake dependencies

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P5: Not important
    • None
    • 6.7.2
    • None
    • Linux/X11

    Description

      First just simple check what qtwebsockets public headers are including

      [tkloczko@pers-jacek qt6]$ grep -r \#include -h | sort | uniq
      #include "QtWebSockets/qwebsocketprotocol.h"
      #include "QtWebSockets/qwebsockets_global.h"
      #include "private/qglobal_p.h"
      #include "qdefaultmaskgenerator_p.h"
      #include "qmaskgenerator.h"
      #include "qmaskgenerator.h" // IWYU pragma: export
      #include "qtwebsocketsversion.h"
      #include "qtwebsocketsversion.h" // IWYU pragma: export
      #include "qwebsocket.h"
      #include "qwebsocket.h" // IWYU pragma: export
      #include "qwebsocketcorsauthenticator.h"
      #include "qwebsocketcorsauthenticator.h" // IWYU pragma: export
      #include "qwebsocketdataprocessor_p.h"
      #include "qwebsocketframe_p.h"
      #include "qwebsockethandshakeoptions.h"
      #include "qwebsockethandshakeoptions.h" // IWYU pragma: export
      #include "qwebsocketprotocol.h"
      #include "qwebsocketprotocol.h" // IWYU pragma: export
      #include "qwebsocketprotocol_p.h"
      #include "qwebsockets_global.h"
      #include "qwebsocketserver.h"
      #include "qwebsocketserver.h" // IWYU pragma: export
      #include <QSharedData>
      #include <QtCore/QByteArray>
      #include <QtCore/QCoreApplication>
      #include <QtCore/QElapsedTimer>
      #include <QtCore/QList>
      #include <QtCore/QMap>
      #include <QtCore/QObject>
      #include <QtCore/QQueue>
      #include <QtCore/QSharedDataPointer>
      #include <QtCore/QString>
      #include <QtCore/QStringDecoder>
      #include <QtCore/QStringList>
      #include <QtCore/QTimer>
      #include <QtCore/QUrl>
      #include <QtCore/private/qglobal_p.h>
      #include <QtCore/qcompilerdetection.h>
      #include <QtCore/qglobal.h>
      #include <QtCore/qobject.h>
      #include <QtCore/qstringview.h>
      #include <QtCore/qtconfigmacros.h> // Q_WEBSOCKETS_EXPORT
      #include <QtCore/qtdeprecationmarkers.h> // QT_IF_DEPRECATED_SINCE
      #include <QtNetwork/QAbstractSocket>
      #include <QtNetwork/QAuthenticator>
      #include <QtNetwork/QHostAddress>
      #include <QtNetwork/QNetworkProxy>
      #include <QtNetwork/QNetworkRequest>
      #include <QtNetwork/QSslConfiguration>
      #include <QtNetwork/QSslError>
      #include <QtNetwork/QSslSocket>
      #include <QtNetwork/QTcpSocket>
      #include <QtNetwork/private/qhttpheaderparser_p.h>
      #include <QtWebSockets/QtWebSocketsDepends>
      #include <QtWebSockets/qmaskgenerator.h>
      #include <QtWebSockets/qtwebsocketsexports.h>
      #include <chrono>
      #include <limits>
      #include <memory>
      #include <private/qobject_p.h> 

      So above shows that are used header s from QSharedData, QtCore, QtNetwork.

      However in cmake modules there are no any dependencies

      [tkloczko@pers-jacek cmake]$ ls -1
      Qt6BuildInternals
      Qt6Qml
      Qt6WebSockets
      [tkloczko@pers-jacek cmake]$ grep -r find_package */*Config.cmake
      [tkloczko@pers-jacek cmake]$ 

      It is a bit better in case of pkgconfig files

      [tkloczko@pers-jacek pkgconfig]$ grep -r Requires:
      Qt6WebSockets.pc:Requires: Qt6Core Qt6Network 

      So Qt6Core,  Qt6Network pkgconfig dependencies are present byt those dependencies are unversioned (should be "Qt6Core = 6.7.2 Qt6Network = 6.7.2")

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qtbuildsystem Qt Build System Team
              kloczek Tomasz Kloczko
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes