[Kde-bindings] [PATCH] Fixed building smoke plasma bindings (webkit related)

Richard Dale richard.dale at telefonica.net
Fri Mar 19 13:13:42 UTC 2010


On Friday 19 March 2010 02:25:23 am Maciej Mrozowski wrote:
> There's a problem in 4.4 branch, linking to smokeqtwebkit is inconditional
> (but webkit bindings are optional).
> 
> In trunk however, http://websvn.kde.org/?view=revision&revision=1072695 has
> been applied that among others fixes this issue - or at least removes some
> (supposedly) unnecessary linking.
> 
> Please just in any case verify whether
> http://websvn.kde.org/?view=revision&revision=1072695 can be applied to 4.4
> branch (it should, it's been commited two months ago, no idea why it's not
> in 4.4 branch already).
> Alternatively give me ack to commit attached patch to 4.4 and trunk or
> backport mentioned commit.
> 
> Index: smoke/plasma/CMakeLists.txt
> ===================================================================
> --- smoke/plasma/CMakeLists.txt	(revision 1104955)
> +++ smoke/plasma/CMakeLists.txt	(working copy)
> @@ -41,15 +41,17 @@
> 
>  kde4_add_library(smokeplasma SHARED ${smokeplasma_LIB_SRCS})
> 
> -target_link_libraries(smokeplasma
> +target_link_libraries(smokeplasma
>      ${KDE4_KDEUI_LIBS}
>      ${KDE4_PLASMA_LIBS}
>      smokeqtcore
>      smokeqtgui
> -    smokeqtwebkit
>      smokekdecore
>      smokekdeui
>  )
> +IF(ENABLE_QTWEBKIT_SMOKE)
> +    target_link_libraries(smokeplasma smokeqtwebkit)
> +ENDIF(ENABLE_QTWEBKIT_SMOKE)
> 
>  set_target_properties(smokeplasma PROPERTIES VERSION 3.0.0 SOVERSION 3 )
>  install(TARGETS smokeplasma DESTINATION ${LIB_INSTALL_DIR} )
The only part of the plasma api that depends on the qtwebkit api is the 
Plasma::WebView widget, and only if you want to access the QWebPage and 
QWebFrame for the widget.  You would only need to link to a smoke library if 
it has a parent mopdule specified in its smokeconfig.xml file. The plasma one 
doesn't specifiy smokeqtwebkit:

    <moduleName>plasma</moduleName>
    <parentModules>
        <module>kdecore</module>
        <module>kdeui</module>
    </parentModules>

So really i think the plasma smoke lib links against more libs than it needs 
too. If you want to use QtWebKit with plasma in, say Ruby, I think you should 
require the Ruby extension explicitely, and that will in turn load the 
smokeqtwebkit lib as it is linked against it.

Arno did write a 'deptool' tool to find smoke dependencies and perhaps we 
should be using that - I haven't actually tried it myself.

-- Richard



More information about the Kde-bindings mailing list