[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