3a7a425344
If there is no kdelibs, there is no kdelibs exports. This fixes some cmake errors resulting from making it possible to build itemmodels standalone.
445 lines
13 KiB
CMake
445 lines
13 KiB
CMake
# strange conversion error in pushbutton.cpp
|
|
kde4_no_enable_final(plasma)
|
|
|
|
if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
|
|
set(PLASMA_NO_KDEWEBKIT TRUE)
|
|
set(PLASMA_NO_KNEWSTUFF TRUE)
|
|
set(PLASMA_NO_SOLID TRUE)
|
|
set(PLASMA_NO_KIO TRUE)
|
|
set(PLASMA_NO_PACKAGEKIT TRUE)
|
|
set(PLASMA_NO_PACKAGE_EXTRADATA TRUE)
|
|
|
|
endif(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
|
|
|
|
if(NOT Q_WS_X11)
|
|
set(PLASMA_NO_PACKAGEKIT TRUE)
|
|
endif(NOT Q_WS_X11)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
|
${KDE4_KDECORE_INCLUDES}
|
|
${KDE4_KDEUI_INCLUDES}
|
|
${CMAKE_SOURCE_DIR}/experimental/libkdeclarative
|
|
${CMAKE_BINARY_DIR}/experimental/libkdeclarative
|
|
${CMAKE_SOURCE_DIR}/tier1/libkarchive/src
|
|
${CMAKE_BINARY_DIR}/tier1/libkarchive/src
|
|
${CMAKE_SOURCE_DIR}/tier1/threadweaver/
|
|
${CMAKE_BINARY_DIR}/tier1/threadweaver/
|
|
${CMAKE_BINARY_DIR}/tier1/threadweaver/Weaver
|
|
${CMAKE_SOURCE_DIR}/plasma/extenders
|
|
${CMAKE_SOURCE_DIR}/plasma/remote
|
|
${CMAKE_SOURCE_DIR}/plasma/private/qtjolie-branch/qtjolie
|
|
${CMAKE_SOURCE_DIR}/plasma/private/qtjolie-branch
|
|
${CMAKE_SOURCE_DIR}/plasma/private/qtjolie-branch/includes
|
|
)
|
|
|
|
if(NOT PLASMA_NO_KIO)
|
|
include_directories(${KDE4_KIO_INCLUDES})
|
|
set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${KDE4_KIO_LIBS})
|
|
endif(NOT PLASMA_NO_KIO)
|
|
|
|
if(NOT PLASMA_NO_KDEWEBKIT)
|
|
include_directories(${CMAKE_SOURCE_DIR}/kdewebkit/)
|
|
set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} kdewebkit)
|
|
endif(NOT PLASMA_NO_KDEWEBKIT)
|
|
|
|
if(NOT PLASMA_NO_KNEWSTUFF)
|
|
include_directories(${CMAKE_SOURCE_DIR}/knewstuff/)
|
|
set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} knewstuff3)
|
|
endif(NOT PLASMA_NO_KNEWSTUFF)
|
|
|
|
if(NOT PLASMA_NO_SOLID)
|
|
include_directories(${CMAKE_BINARY_DIR}/tier1/solid/)
|
|
include_directories(${CMAKE_SOURCE_DIR}/tier1/solid/)
|
|
set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${KDE4_SOLID_LIBS})
|
|
endif(NOT PLASMA_NO_SOLID)
|
|
|
|
if(NOT PLASMA_NO_PACKAGEKIT)
|
|
add_definitions(-DPLASMA_ENABLE_PACKAGEKIT_SUPPORT=1)
|
|
set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} ${QT_QTDBUS_LIBRARY})
|
|
endif(NOT PLASMA_NO_PACKAGEKIT)
|
|
|
|
if(QCA2_FOUND)
|
|
include_directories(${QCA2_INCLUDE_DIR})
|
|
set(ENABLE_REMOTE_WIDGETS TRUE)
|
|
endif(QCA2_FOUND)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-plasma.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-plasma.h)
|
|
|
|
#FIXME: gpgme++ is in kdepimlibs, must move somewhere else!
|
|
find_package(KdepimLibs 4.5.60)
|
|
macro_log_feature(KDEPIMLIBS_FOUND "kdepimlibs" "KDE PIM libraries" "http://www.kde.org" FALSE "" "Needed for building several Plasma DataEngines")
|
|
include_directories(${KDEPIMLIBS_INCLUDE_DIRS})
|
|
|
|
add_subdirectory(tests)
|
|
add_definitions(-DKDE_DEFAULT_DEBUG_AREA=1209)
|
|
|
|
########### next target ###############
|
|
|
|
set(plasma_LIB_SRCS
|
|
abstractrunner.cpp
|
|
${plasmagik_SRCS}
|
|
abstractdialogmanager.cpp
|
|
abstracttoolbox.cpp
|
|
dialog.cpp
|
|
animator.cpp
|
|
animations/animation.cpp
|
|
animations/animationscriptengine.cpp
|
|
animations/bindings/animationgroup.cpp
|
|
animations/bindings/easingcurve.cpp
|
|
animations/easinganimation.cpp
|
|
animations/fade.cpp
|
|
animations/grow.cpp
|
|
animations/javascriptanimation.cpp
|
|
animations/pendulumcurve.cpp
|
|
animations/pixmaptransition.cpp
|
|
animations/pulser.cpp
|
|
animations/rotation.cpp
|
|
animations/rotationstacked.cpp
|
|
animations/slide.cpp
|
|
animations/stackedlayout.cpp
|
|
animations/geometry.cpp
|
|
animations/water.cpp
|
|
animations/widgetsnapshot.cpp
|
|
animations/zoom.cpp
|
|
configloader.cpp
|
|
containment.cpp
|
|
containmentactions.cpp
|
|
containmentactionspluginsconfig.cpp
|
|
corona.cpp
|
|
datacontainer.cpp
|
|
dataengine.cpp
|
|
dataenginemanager.cpp
|
|
delegate.cpp
|
|
extenders/extender.cpp
|
|
extenders/extendergroup.cpp
|
|
extenders/extenderitem.cpp
|
|
package.cpp
|
|
packagestructure.cpp
|
|
paintutils.cpp
|
|
pluginloader.cpp
|
|
framesvg.cpp
|
|
plasma.cpp
|
|
applet.cpp
|
|
popupapplet.cpp
|
|
pluginloader.cpp
|
|
|
|
private/applethandle.cpp
|
|
private/associatedapplicationmanager.cpp
|
|
private/componentinstaller.cpp
|
|
private/datacontainer_p.cpp
|
|
private/dataengineconsumer.cpp
|
|
private/dataengineservice.cpp
|
|
private/effectwatcher.cpp
|
|
private/extenderapplet.cpp
|
|
private/extenderitemmimedata.cpp
|
|
private/focusindicator.cpp
|
|
private/getsource.cpp
|
|
private/packages.cpp
|
|
private/plasmoidservice.cpp
|
|
private/remotedataengine.cpp
|
|
private/remoteservice.cpp
|
|
private/remoteservicejob.cpp
|
|
private/runnerjobs.cpp
|
|
private/serviceprovider.cpp
|
|
private/storage.cpp
|
|
private/storagethread.cpp
|
|
private/style.cpp
|
|
private/tooltip.cpp
|
|
private/wallpaperrenderthread.cpp
|
|
private/windowpreview.cpp
|
|
private/windowshadows.cpp
|
|
private/kineticscroll.cpp
|
|
private/effects/halopainter.cpp
|
|
private/effects/ripple.cpp
|
|
querymatch.cpp
|
|
remote/accessmanager.cpp
|
|
remote/accessappletjob.cpp
|
|
remote/authorizationinterface.cpp
|
|
remote/authorizationmanager.cpp
|
|
remote/authorizationrule.cpp
|
|
remote/clientpinrequest.cpp
|
|
remote/credentials.cpp
|
|
remote/denyallauthorization.cpp
|
|
remote/pinpairingauthorization.cpp
|
|
remote/pinpairingdialog.cpp
|
|
remote/serviceaccessjob.cpp
|
|
remote/signing.cpp
|
|
remote/trustedonlyauthorization.cpp
|
|
runnercontext.cpp
|
|
runnermanager.cpp
|
|
runnersyntax.cpp
|
|
scripting/appletscript.cpp
|
|
scripting/dataenginescript.cpp
|
|
scripting/runnerscript.cpp
|
|
scripting/wallpaperscript.cpp
|
|
scripting/scriptengine.cpp
|
|
service.cpp
|
|
servicejob.cpp
|
|
svg.cpp
|
|
theme.cpp
|
|
tooltipcontent.cpp
|
|
tooltipmanager.cpp
|
|
version.cpp
|
|
view.cpp
|
|
wallpaper.cpp
|
|
windoweffects.cpp
|
|
|
|
|
|
#Temporary QtJolie branch
|
|
private/qtjolie-branch/qtjolie/abstractadaptor.cpp
|
|
private/qtjolie-branch/qtjolie/client.cpp
|
|
private/qtjolie-branch/qtjolie/clientthread.cpp
|
|
private/qtjolie-branch/qtjolie/value.cpp
|
|
private/qtjolie-branch/qtjolie/fault.cpp
|
|
private/qtjolie-branch/qtjolie/message.cpp
|
|
private/qtjolie-branch/qtjolie/metaservice.cpp
|
|
private/qtjolie-branch/qtjolie/pendingcall.cpp
|
|
private/qtjolie-branch/qtjolie/pendingcallwatcher.cpp
|
|
private/qtjolie-branch/qtjolie/pendingreply.cpp
|
|
private/qtjolie-branch/qtjolie/server.cpp
|
|
private/qtjolie-branch/qtjolie/serverthread.cpp
|
|
|
|
widgets/pushbutton.cpp
|
|
widgets/busywidget.cpp
|
|
widgets/iconwidget.cpp
|
|
widgets/label.cpp
|
|
widgets/scrollbar.cpp
|
|
widgets/scrollwidget.cpp
|
|
widgets/svgwidget.cpp
|
|
widgets/textbrowser.cpp
|
|
widgets/textedit.cpp
|
|
)
|
|
|
|
set (plasmaqgv_LIB_SRCS
|
|
|
|
private/animablegraphicswebview.cpp
|
|
private/dataenginebindings.cpp
|
|
private/declarative/declarativenetworkaccessmanagerfactory.cpp
|
|
private/focusindicator.cpp
|
|
private/nativetabbar.cpp
|
|
private/style.cpp
|
|
|
|
widgets/checkbox.cpp
|
|
widgets/combobox.cpp
|
|
widgets/declarativewidget.cpp
|
|
widgets/flashinglabel.cpp
|
|
widgets/frame.cpp
|
|
widgets/groupbox.cpp
|
|
widgets/itembackground.cpp
|
|
widgets/lineedit.cpp
|
|
widgets/meter.cpp
|
|
widgets/radiobutton.cpp
|
|
widgets/signalplotter.cpp
|
|
widgets/slider.cpp
|
|
widgets/spinbox.cpp
|
|
widgets/toolbutton.cpp
|
|
widgets/separator.cpp
|
|
widgets/tabbar.cpp
|
|
widgets/treeview.cpp
|
|
widgets/webview.cpp
|
|
)
|
|
|
|
kde4_add_kcfg_files(plasma_LIB_SRCS data/kconfigxt/libplasma-theme-global.kcfgc)
|
|
|
|
kde4_add_ui_files(plasma_LIB_SRCS
|
|
remote/pinpairing.ui
|
|
private/publish.ui)
|
|
#NEPOMUK_GENERATE_FROM_ONTOLOGY(
|
|
# nwc.nrl
|
|
# ${metadata_test_BINARY_DIR}
|
|
# TEST_HEADERS
|
|
# TEST_SOURCES
|
|
# TEST_INCLUDES
|
|
#)
|
|
|
|
|
|
if (PHONON_FOUND)
|
|
message(STATUS "Adding support for Phonon to libplasma")
|
|
include_directories(${KDE4_PHONON_INCLUDES})
|
|
set(plasmaqgv_LIB_SRCS
|
|
${plasmaqgv_LIB_SRCS}
|
|
widgets/videowidget.cpp)
|
|
endif(PHONON_FOUND)
|
|
|
|
kde4_add_library(plasma ${LIBRARY_TYPE} ${plasma_LIB_SRCS})
|
|
|
|
kde4_add_library(plasmaqgv ${LIBRARY_TYPE} ${plasmaqgv_LIB_SRCS})
|
|
|
|
target_link_libraries(plasma ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
|
|
${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTSQL_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
|
|
${KDE4_KDEUI_LIBS} kdnssd threadweaver kdeclarative ${PLASMA_EXTRA_LIBS})
|
|
#FIXME gpgme++ is in kdepimlibs, neeeds to be elsewhere
|
|
target_link_libraries(plasma ${KDEPIMLIBS_GPGMEPP_LIBS} karchive)
|
|
|
|
target_link_libraries(plasmaqgv plasma ${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
|
|
${QT_QTSCRIPT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTDECLARATIVE_LIBRARY}
|
|
${KDE4_KDEUI_LIBS} kdeclarative ${PLASMA_EXTRA_LIBS})
|
|
|
|
|
|
if(QCA2_FOUND)
|
|
target_link_libraries(plasma ${QCA2_LIBRARIES})
|
|
endif(QCA2_FOUND)
|
|
|
|
if(X11_FOUND)
|
|
target_link_libraries(plasma ${X11_LIBRARIES})
|
|
endif(X11_FOUND)
|
|
|
|
if(PHONON_FOUND)
|
|
target_link_libraries(plasmaqgv ${KDE4_PHONON_LIBS})
|
|
endif(PHONON_FOUND)
|
|
|
|
if(DL_LIBRARY)
|
|
target_link_libraries(plasma ${DL_LIBRARY})
|
|
endif(DL_LIBRARY)
|
|
|
|
target_link_libraries(plasma LINK_INTERFACE_LIBRARIES kdeui kdecore ${QT_QTGUI_LIBRARY})
|
|
|
|
#do NOT use GENERIC versioning -- the plasma team will take care of versioning
|
|
set_target_properties(plasma PROPERTIES
|
|
VERSION 4.0.0
|
|
SOVERSION 4
|
|
)
|
|
|
|
set_target_properties(plasmaqgv PROPERTIES
|
|
VERSION 1.0.0
|
|
SOVERSION 1
|
|
)
|
|
|
|
install(TARGETS plasma ${INSTALL_TARGETS_DEFAULT_ARGS})
|
|
install(TARGETS plasmaqgv ${INSTALL_TARGETS_DEFAULT_ARGS})
|
|
|
|
########### install files ###############
|
|
|
|
set(plasma_LIB_INCLUDES
|
|
abstractdialogmanager.h
|
|
abstractrunner.h
|
|
abstracttoolbox.h
|
|
animations/animation.h
|
|
animator.h
|
|
applet.h
|
|
configloader.h
|
|
containment.h
|
|
containmentactions.h
|
|
containmentactionspluginsconfig.h
|
|
corona.h
|
|
datacontainer.h
|
|
dataengine.h
|
|
dataenginemanager.h
|
|
delegate.h
|
|
dialog.h
|
|
extenders/extender.h
|
|
extenders/extendergroup.h
|
|
extenders/extenderitem.h
|
|
pluginloader.h
|
|
paintutils.h
|
|
windoweffects.h
|
|
framesvg.h
|
|
package.h
|
|
packagestructure.h
|
|
plasma.h
|
|
plasma_export.h
|
|
popupapplet.h
|
|
querymatch.h
|
|
remote/accessappletjob.h
|
|
remote/accessmanager.h
|
|
remote/authorizationmanager.h
|
|
remote/authorizationrule.h
|
|
remote/authorizationinterface.h
|
|
remote/clientpinrequest.h
|
|
remote/credentials.h
|
|
remote/serviceaccessjob.h
|
|
runnercontext.h
|
|
runnermanager.h
|
|
runnersyntax.h
|
|
service.h
|
|
servicejob.h
|
|
svg.h
|
|
theme.h
|
|
tooltipcontent.h
|
|
tooltipmanager.h
|
|
version.h
|
|
view.h
|
|
wallpaper.h)
|
|
|
|
|
|
install(FILES
|
|
${plasma_LIB_INCLUDES}
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma COMPONENT Devel)
|
|
|
|
install(FILES
|
|
widgets/checkbox.h
|
|
widgets/combobox.h
|
|
widgets/declarativewidget.h
|
|
widgets/flashinglabel.h
|
|
widgets/frame.h
|
|
widgets/groupbox.h
|
|
widgets/iconwidget.h
|
|
widgets/itembackground.h
|
|
widgets/label.h
|
|
widgets/lineedit.h
|
|
widgets/meter.h
|
|
widgets/pushbutton.h
|
|
widgets/toolbutton.h
|
|
widgets/radiobutton.h
|
|
widgets/scrollbar.h
|
|
widgets/signalplotter.h
|
|
widgets/slider.h
|
|
widgets/spinbox.h
|
|
widgets/busywidget.h
|
|
widgets/separator.h
|
|
widgets/svgwidget.h
|
|
widgets/scrollwidget.h
|
|
widgets/tabbar.h
|
|
widgets/textbrowser.h
|
|
widgets/treeview.h
|
|
widgets/textedit.h
|
|
widgets/webview.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets COMPONENT Devel)
|
|
|
|
install(FILES
|
|
scripting/appletscript.h
|
|
scripting/dataenginescript.h
|
|
scripting/runnerscript.h
|
|
scripting/wallpaperscript.h
|
|
scripting/scriptengine.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/scripting COMPONENT Devel)
|
|
|
|
if(PHONON_FOUND)
|
|
install (FILES
|
|
widgets/videowidget.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets COMPONENT Devel)
|
|
endif(PHONON_FOUND)
|
|
|
|
install(FILES
|
|
animations/animation.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/animations COMPONENT Devel)
|
|
|
|
|
|
install(FILES
|
|
data/servicetypes/plasma-animator.desktop
|
|
data/servicetypes/plasma-applet.desktop
|
|
data/servicetypes/plasma-applet-popupapplet.desktop
|
|
data/servicetypes/plasma-containment.desktop
|
|
data/servicetypes/plasma-containmentactions.desktop
|
|
data/servicetypes/plasma-dataengine.desktop
|
|
data/servicetypes/plasma-packagestructure.desktop
|
|
data/servicetypes/plasma-runner.desktop
|
|
data/servicetypes/plasma-scriptengine.desktop
|
|
data/servicetypes/plasma-service.desktop
|
|
data/servicetypes/plasma-toolbox.desktop
|
|
data/servicetypes/plasma-wallpaper.desktop
|
|
DESTINATION ${SERVICETYPES_INSTALL_DIR})
|
|
|
|
install(FILES
|
|
data/services/plasma-applet-extenderapplet.desktop
|
|
data/services/plasma.protocol
|
|
DESTINATION ${SERVICES_INSTALL_DIR})
|
|
|
|
install(FILES data/knewstuff/plasmoids.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
|
|
|
|
install(FILES data/kconfig_updates/plasma_popupapplet_fix_groups.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
|
|
install(PROGRAMS data/kconfig_updates/plasma_popupapplet_fix_groups.pl DESTINATION ${KCONF_UPDATE_INSTALL_DIR})
|
|
install(FILES data/operations/dataengineservice.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
|
|
install(FILES data/operations/plasmoidservice.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
|
|
install(FILES data/operations/storage.operations DESTINATION ${DATA_INSTALL_DIR}/plasma/services)
|
|
|