set(tasks_SRCS windowtaskitem.cpp tasks.cpp taskitemlayout.cpp abstracttaskitem.cpp taskgroupitem.cpp applauncheritem.cpp jobmanager.cpp dockmanager.cpp dockitem.cpp dockhelper.cpp dockconfig.cpp mediabuttons.cpp unity.cpp unityitem.cpp dbusstatus.cpp recentdocuments.cpp tooltips/tooltipcontent.cpp tooltips/tooltip.cpp tooltips/tooltipmanager.cpp tooltips/windowpreview.cpp tooltips/dialogshadows.cpp tooltips/dialogshadows_p.h appearanceconfig.ui behaviourconfig.ui dockconfig.ui ) # Generate DBUS XML files, would like to use # qt4_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/dockmanager.h net.launchpad.DockManager.xml) # qt4_generate_dbus_interface(${CMAKE_CURRENT_SOURCE_DIR}/dockitem.h net.launchpad.DockItem.xml) # ...but this does not work, as we also depend on the xml files in qt4_add_dbus_adaptor :-( # So, need to manually create via: # # qdbuscpp2xml -M -P -S dockmanager.h -o net.launchpad.DockManager.xml # qdbuscpp2xml -M -P -S dockitem.h -o net.launchpad.DockItem.xml qt4_add_dbus_adaptor(tasks_SRCS net.launchpad.DockManager.xml dockmanager.h DockManager) qt4_add_dbus_adaptor(tasks_SRCS net.launchpad.DockItem.xml dockitem.h DockItem) qt4_add_dbus_interface(tasks_SRCS org.mpris.MediaPlayer2.Player.xml playerv2interface) MACRO(QT4_ADD_DBUS_INTERFACE_EX _sources _interface _basename _extrainclude) # GET_FILENAME_COMPONENT(_infile ${_interface} ABSOLUTE) set(_infile ${CMAKE_CURRENT_SOURCE_DIR}/${_interface}) SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h) SET(_impl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc) # handling more arguments (as in FindQt4.cmake from KDE4) will come soon, then # _params will be used for more than just -m SET(_params -m) ADD_CUSTOM_COMMAND(OUTPUT ${_impl} ${_header} COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} ${_params} -i ${_extrainclude} -p ${_basename} ${_infile} DEPENDS ${_infile}) SET_SOURCE_FILES_PROPERTIES(${_impl} PROPERTIES SKIP_AUTOMOC TRUE) QT4_GENERATE_MOC(${_header} ${_moc}) SET(${_sources} ${${_sources}} ${_impl} ${_header} ${_moc}) MACRO_ADD_FILE_DEPENDENCIES(${_impl} ${_moc}) ENDMACRO(QT4_ADD_DBUS_INTERFACE_EX) qt4_add_dbus_interface_ex(tasks_SRCS org.freedesktop.MediaPlayer.player.xml playerv1interface dbusstatus.h) kde4_add_plugin(plasma_applet_icontasks ${tasks_SRCS}) target_link_libraries(plasma_applet_icontasks ${KDE4_KDEUI_LIBS} ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${DBUSMENUQT_LIBRARIES} ${KDE4WORKSPACE_TASKMANAGER_LIBS}) if(Q_WS_X11) target_link_libraries(plasma_applet_icontasks ${X11_LIBRARIES}) endif(Q_WS_X11) include_directories(${CMAKE_BINARY_DIR} ${DBUSMENUQT_INCLUDE_DIR}) install(TARGETS plasma_applet_icontasks DESTINATION ${KDE4_PLUGIN_INSTALL_DIR}) install(FILES plasma-applet-icontasks.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR}) install(FILES badge.svgz launcherseparator.svgz progress.svgz indicators.svgz dropindicators.svgz DESTINATION ${KDE4_DATA_INSTALL_DIR}/desktoptheme/default/icontasks/) install(FILES mediabuttonsrc DESTINATION ${KDE4_DATA_INSTALL_DIR}/${CMAKE_PROJECT_NAME})