plasma-framework/CMakeLists.txt
Anne-Marie Mahfouf 91aec876c1 fix build issue when OpenGL is not present on the user system
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733932
2007-11-07 16:08:11 +00:00

191 lines
4.3 KiB
CMake

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${KDEBASE_WORKSPACE_SOURCE_DIR}/libs)
find_package(OpenGL)
add_subdirectory(widgets)
add_subdirectory(tests)
########### 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/kcategorizeditemsview.cpp
appletbrowser/kcategorizeditemsviewdelegate.cpp
appletbrowser/kcategorizeditemsviewmodels.cpp
appletbrowser/plasmaappletitemmodel.cpp
appletbrowser/customdragtreeview.cpp
configxml.cpp
containment.cpp
corona.cpp
datacontainer.cpp
dataengine.cpp
dataenginemanager.cpp
packages.cpp
phase.cpp
plasma.cpp
plasma_export.h
scriptengine.cpp
searchaction.cpp
searchcontext.cpp
shadowitem.cpp
svg.cpp
theme.cpp
uiloader.cpp
widgets/boxlayout.cpp
widgets/borderlayout.cpp
widgets/checkbox.cpp
widgets/freelayout.cpp
widgets/nodelayout.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/progressbar.cpp
widgets/pushbutton.cpp
widgets/radiobutton.cpp
# widgets/rectangle.cpp
widgets/widget.cpp
widgets/signalplotter.cpp
widgets/meter.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} ${QT_QTOPENGL_LIBRARY} ${QT_QTUITOOLS_LIBRARY})
if(OPENGL_FOUND)
target_link_libraries(plasma ${OPENGL_gl_LIBRARY})
endif(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
phase.h
plasma.h
plasma_export.h
scriptengine.h
searchaction.h
searchcontext.h
shadowitem_p.h
svg.h
theme.h
uiloader.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/borderlayout.h
widgets/nodelayout.h
widgets/hboxlayout.h
widgets/vboxlayout.h
widgets/freelayout.h
widgets/flash.h
widgets/icon.h
widgets/label.h
widgets/layout.h
widgets/layoutanimator.h
widgets/layoutitem.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
includes/AbstractRunner
includes/Applet
includes/ConfigXml
includes/Phase
includes/Plasma
includes/Package
includes/PackageStructure
includes/Theme
includes/DataContainer
includes/DataEngine
includes/DataEngineManager
includes/ScriptEngine
includes/Svg
includes/UiLoader
includes/PackageMetadata
includes/Containment
includes/AppletBrowser
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-runner.desktop
servicetypes/plasma-scriptengine.desktop
DESTINATION ${SERVICETYPES_INSTALL_DIR})