plasma-framework/CMakeLists.txt
Marco Martin 750094f6bf Add a new Plasma class: Plasma::Delegate
it will draw all the listviews used in Plasma that acts like a menu, like Kickoff or Devicenotifier.
at the moment only devicenotifier uses that, (so now it looks like kickoff) a port of the kickoff delegate is planned.
if you want to draw additional data you must
can subclass it
call paint of the father and then use  onr of the function the functions rectAfterTitle, rectAfterSubTitle and emptyRect to get the blank space
paint in the rect obtained with the above functions

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=786973
2008-03-18 11:09:39 +00:00

231 lines
5.4 KiB
CMake

find_package(KDE4 REQUIRED)
include (KDE4Defaults)
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs ${CMAKE_CURRENT_SOURCE_DIR}/.. ${KDE4_INCLUDES} ${OPENGL_INCLUDE_DIR})
add_subdirectory(widgets)
add_subdirectory(tests)
add_definitions(-DKDE_DEFAULT_DEBUG_AREA=1209)
########### next target ###############
set(plasmagik_SRCS
packagemetadata.cpp
packagestructure.cpp
package.cpp
)
set(plasma_LIB_SRCS
${plasmagik_SRCS}
abstractrunner.cpp
animator.cpp
applet.cpp
appletbrowser.cpp
appletbrowser/customdragtreeview.cpp
appletbrowser/kcategorizeditemsview.cpp
appletbrowser/kcategorizeditemsviewdelegate.cpp
appletbrowser/kcategorizeditemsviewmodels.cpp
appletbrowser/openwidgetassistant.cpp
appletbrowser/plasmaappletitemmodel.cpp
applethandle.cpp
configxml.cpp
containment.cpp
corona.cpp
datacontainer.cpp
dataengine.cpp
dataenginemanager.cpp
dialog.cpp
layouts/boxlayout.cpp
layouts/borderlayout.cpp
layouts/freelayout.cpp
layouts/nodelayout.cpp
layouts/flowlayout.cpp
layouts/fliplayout.cpp
layouts/layout.cpp
layouts/layoutanimator.cpp
layouts/layoutitem.cpp
packages.cpp
phase.cpp
plasma.cpp
plasma_export.h
searchmatch.cpp
searchcontext.cpp
shadowitem.cpp
svg.cpp
svgpanel.cpp
theme.cpp
desktoptoolbox.cpp
uiloader.cpp
view.cpp
delegate.cpp
scripting/appletscript.cpp
scripting/dataenginescript.cpp
scripting/runnerscript.cpp
scripting/scriptengine.cpp
widgets/checkbox.cpp
widgets/flash.cpp
widgets/icon.cpp
widgets/label.cpp
widgets/lineedit.cpp
widgets/progressbar.cpp
widgets/pushbutton.cpp
widgets/radiobutton.cpp
# widgets/rectangle.cpp
widgets/widget.cpp
widgets/signalplotter.cpp
widgets/meter.cpp
widgets/tooltip.cpp
)
kde4_add_ui_files (
plasma_LIB_SRCS
appletbrowser/kcategorizeditemsviewbase.ui
)
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
MESSAGE(STATUS "Adding support for OpenGL applets to libplasma")
set(plasma_LIB_SRCS
${plasma_LIB_SRCS}
glapplet.cpp)
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
kde4_add_library(plasma SHARED ${plasma_LIB_SRCS})
target_link_libraries(plasma ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} ${QT_QTUITOOLS_LIBRARY})
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
target_link_libraries(plasma ${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY})
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
set_target_properties(plasma PROPERTIES VERSION 1.0.0 SOVERSION 1)
install(TARGETS plasma DESTINATION ${LIB_INSTALL_DIR})
########### install files ###############
set(plasmagik_HEADERS
packagemetadata.h
packagestructure.h
package.h
)
install(FILES ${plasmagik_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/)
set(plasma_LIB_INCLUDES
abstractrunner.h
animator.h
applet.h
appletbrowser.h
configxml.h
containment.h
corona.h
datacontainer.h
dataengine.h
dataenginemanager.h
dialog.h
phase.h
plasma.h
plasma_export.h
searchmatch.h
searchcontext.h
shadowitem_p.h
svg.h
svgpanel.h
theme.h
uiloader.h
view.h
delegate.h)
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
set(plasma_LIB_INCLUDES
${plasma_LIB_INCLUDES}
glapplet.h)
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
install(FILES
${plasma_LIB_INCLUDES}
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma)
install(FILES
widgets/flash.h
widgets/icon.h
widgets/label.h
widgets/lineedit.h
widgets/progressbar.h
widgets/pushbutton.h
widgets/checkbox.h
widgets/radiobutton.h
# widgets/rectangle.h
widgets/widget.h
widgets/signalplotter.h
widgets/meter.h
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets)
install(FILES
layouts/boxlayout.h
layouts/vboxlayout.h
layouts/hboxlayout.h
layouts/borderlayout.h
layouts/freelayout.h
layouts/nodelayout.h
layouts/flowlayout.h
layouts/fliplayout.h
layouts/layout.h
layouts/layoutanimator.h
layouts/layoutitem.h
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/layouts)
install(FILES
scripting/appletscript.h
scripting/dataenginescript.h
scripting/runnerscript.h
scripting/scriptengine.h
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/scripting)
install(FILES
includes/AbstractRunner
includes/Animator
includes/Applet
includes/AppletBrowser
includes/ConfigXml
includes/Corona
includes/Containment
includes/Dialog
includes/Phase
includes/Plasma
includes/Package
includes/PackageStructure
includes/Theme
includes/DataContainer
includes/DataEngine
includes/DataEngineManager
includes/ScriptEngine
includes/SearchContext
includes/SearchMatch
includes/Svg
includes/SvgPanel
includes/UiLoader
includes/PackageMetadata
includes/View
includes/Delegate
DESTINATION ${INCLUDE_INSTALL_DIR}/KDE/Plasma)
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
install(FILES
includes/GLApplet
DESTINATION ${INCLUDE_INSTALL_DIR}/KDE/Plasma)
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
install(FILES
servicetypes/plasma-animator.desktop
servicetypes/plasma-applet.desktop
servicetypes/plasma-containment.desktop
servicetypes/plasma-dataengine.desktop
servicetypes/plasma-packagestructure.desktop
servicetypes/plasma-runner.desktop
servicetypes/plasma-scriptengine.desktop
DESTINATION ${SERVICETYPES_INSTALL_DIR})