QtWebKit depends on QtQml?



  • We are migrating from Qt 4.8 to Qt 5.2. Just find out QtWebKit now links against QtDeclarative which in turn depends on QtQuick, which depends on QtQml.

    We do widgets only applications and don't want to include all the libraries that we don't use. Is there a way to remove QtQuick and QtQml from the loop?

    Thanks.



  • I just migrated from Qt 4.8 to 5.2 as well. Yes, QtWebKit is now consist of webkit1 (c++) and webkit2 (qml).

    Haven't done this myself, but if you are looking for places to start:

    qtwebkit/Tools/qmake/mkspecs/features/configure.prf
    remove "build_webkit2 "
    and recompile QtWebkit

    Try this at your own risk. =D



  • Thanks a lot. I will give it a try.



  • It works. QtWebKit no longer depends on QtQml or QtQuick. But QtWebKitWidgets still links against them. :(



  • Did you build from a complete fresh checkout or you modify something you already compiled? I am new to building Qt library so I am learning as well. Take my comment with as is.

    What I found is Qt 5.2 compiled tree does not respond to changes properly. Often time I need to do a fresh checkout, patch source, and compile from top of tree for changes to propagate properly. (Make a copy of fresh checkout and clone it.)

    One possibility is your change did not propagate/detect by QtWebkitWidgets. A fresh checkout, patch, and compile might do.

    Good luck.



  • It turns out QtWebKitWidget build script checks for the existence of QtQuick module and link against it if it's present. It ignores the fact the webkit2 is not built.

    I had to comment out the addModule line for QtDeclarative and change QtWebKit to depend on QtBase in Qt.pro. This gives me QtQml and QtQuick free Qt libraries, on the Mac at least.

    Thanks for the help. I really appreciate it.



  • Wow, you figured all this in 12 hours. Very nice progress.

    I got curious and checked out what you said. For others information, I believe the following is where Stephen made changes.

    qt.pro change to
    addModule(qtwebkit, qtbase, qtlocation qtsensors, WebKit.pro)

    widgetsapi.pri remove
    have?(QTQUICK): QT += quick



  • Also removed/commented the line addModule(qtdeclarative, ...


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.