include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs)

find_package(OpenGL)

add_subdirectory( widgets )

########### next target ###############

set(plasmagik_SRCS
    packagemetadata.cpp
    packagestructure.cpp
    package.cpp
    )

set(plasma_LIB_SRCS
    ${plasmagik_SRCS}
    abstractrunner.cpp
    animator.cpp
    applet.cpp
    configxml.cpp
    corona.cpp
    datacontainer.cpp
    dataengine.cpp
    dataenginemanager.cpp
    packages.cpp
    phase.cpp
    plasma.cpp
    plasma_export.h
    scriptengine.cpp
    shadowitem.cpp
    svg.cpp
    theme.cpp
    karambamanager.cpp
    widgets/boxlayout.cpp
    widgets/checkbox.cpp
    widgets/hboxlayout.cpp
#    widgets/flowlayout.cpp
    widgets/flash.cpp
    widgets/icon.cpp
    widgets/label.cpp
    widgets/layout.cpp
    widgets/layoutanimator.cpp
    widgets/layoutitem.cpp
    widgets/lineedit.cpp
    widgets/pushbutton.cpp
    widgets/radiobutton.cpp
#    widgets/rectangle.cpp
    widgets/widget.cpp
    widgets/vboxlayout.cpp
    widgets/signalplotter.cpp
)

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} ${QT_QTOPENGL_LIBRARY} ${OPENGL_gl_LIBRARY} ${QT_QTUITOOLS_LIBRARY})

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
    configxml.h
    corona.h
    datacontainer.h
    dataengine.h
    dataenginemanager.h
    phase.h
    plasma.h
    plasma_export.h
    scriptengine.h
    shadowitem_p.h
    svg.h
    theme.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/boxlayout.h
    widgets/hboxlayout.h
    widgets/flash.h
    widgets/icon.h
    widgets/label.h
    widgets/layout.h
    widgets/layoutitem.h
    widgets/lineedit.h
    widgets/pushbutton.h
    widgets/checkbox.h
    widgets/radiobutton.h
#    widgets/rectangle.h
    widgets/vboxlayout.h
    widgets/widget.h
    widgets/signalplotter.h
    DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/widgets)

install(FILES
    includes/AbstractRunner
    includes/Applet
    includes/ConfigXml
    includes/Phase
    includes/Plasma
    includes/Package
    includes/Packager
    includes/PackageStructure
    includes/Theme
    includes/DataContainer
    includes/DataEngine
    includes/DataEngineManager
    includes/ScriptEngine
    includes/Svg
    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-dataengine.desktop
    servicetypes/plasma-scriptengine.desktop
    DESTINATION ${SERVICETYPES_INSTALL_DIR})

