76d9ad90d4
-enable the reduced link interface for everybody now in kdelibs -convert all the set_target_properties(foo LINK_INTERFACE_LIBRARIES...) to the new target_link_libraries(foo LINK_INTERFACE_LIBRARIES ...) -install all shared libs also as "exported targets", so these libraries can be included by the other projects again as "imported targets", which should fix some problems with different build configurations, the reduced link interface, hopefully also custom install locations (Windows), maybe more -remove the temporary internal hackish macro _KDE4_EXPORT_LIBRARY_DEPENDENCIES() Alex, who hopes this doesn't break too much... So if you get linker errors now, please let me know (or even better kde-buildsystem@kde.org) svn path=/trunk/KDE/kdelibs/; revision=882594
272 lines
7.3 KiB
CMake
272 lines
7.3 KiB
CMake
macro_optional_find_package(OpenGL)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_BINARY_DIR}/kdecore/
|
|
${CMAKE_SOURCE_DIR}/kdecore/
|
|
${CMAKE_SOURCE_DIR}/kdecore/config
|
|
${CMAKE_SOURCE_DIR}/kdecore/jobs
|
|
${CMAKE_SOURCE_DIR}/kdecore/kernel
|
|
${CMAKE_SOURCE_DIR}/kdecore/localization
|
|
${CMAKE_SOURCE_DIR}/kdecore/io
|
|
${CMAKE_SOURCE_DIR}/kdecore/services
|
|
${CMAKE_SOURCE_DIR}/kdecore/sycoca
|
|
${CMAKE_SOURCE_DIR}/kdecore/util
|
|
${CMAKE_BINARY_DIR}/kdeui/
|
|
${CMAKE_SOURCE_DIR}/kdeui/
|
|
${CMAKE_SOURCE_DIR}/kdeui/actions
|
|
${CMAKE_SOURCE_DIR}/kdeui/about
|
|
${CMAKE_SOURCE_DIR}/kdeui/config
|
|
${CMAKE_SOURCE_DIR}/kdeui/colors
|
|
${CMAKE_SOURCE_DIR}/kdeui/dialogs
|
|
${CMAKE_SOURCE_DIR}/kdeui/kernel
|
|
${CMAKE_SOURCE_DIR}/kdeui/icons
|
|
${CMAKE_SOURCE_DIR}/kdeui/paged
|
|
${CMAKE_SOURCE_DIR}/kdeui/shortcuts
|
|
${CMAKE_SOURCE_DIR}/kdeui/util
|
|
${CMAKE_SOURCE_DIR}/kdeui/widgets
|
|
${CMAKE_SOURCE_DIR}/kdeui/windowmanagement
|
|
${CMAKE_SOURCE_DIR}/kio
|
|
${CMAKE_SOURCE_DIR}/kio/kio
|
|
${CMAKE_SOURCE_DIR}/knewstuff/
|
|
${CMAKE_BINARY_DIR}/solid/
|
|
${CMAKE_SOURCE_DIR}/solid/
|
|
${CMAKE_SOURCE_DIR}/threadweaver/
|
|
${KDE4_INCLUDES})
|
|
if(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
# libGL needs dlopen() and friends from the dl library
|
|
find_library(DL_LIBRARY dl)
|
|
include_directories(${OPENGL_INCLUDE_DIR})
|
|
endif(QT_QTOPENGL_FOUND AND OPENGL_FOUND)
|
|
|
|
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
|
|
animationdriver.cpp
|
|
animator.cpp
|
|
applet.cpp
|
|
configloader.cpp
|
|
containment.cpp
|
|
context.cpp
|
|
corona.cpp
|
|
datacontainer.cpp
|
|
dataengine.cpp
|
|
dataenginemanager.cpp
|
|
delegate.cpp
|
|
dialog.cpp
|
|
extender.cpp
|
|
extenderitem.cpp
|
|
paintutils.cpp
|
|
framesvg.cpp
|
|
plasma.cpp
|
|
popupapplet.cpp
|
|
private/applethandle.cpp
|
|
private/datacontainer_p.cpp
|
|
private/desktoptoolbox.cpp
|
|
private/extenderapplet.cpp
|
|
private/nativetabbar.cpp
|
|
private/packages.cpp
|
|
private/paneltoolbox.cpp
|
|
private/style.cpp
|
|
private/toolbox.cpp
|
|
private/tooltip.cpp
|
|
private/windowpreview.cpp
|
|
querymatch.cpp
|
|
runnercontext.cpp
|
|
runnermanager.cpp
|
|
scripting/appletscript.cpp
|
|
scripting/dataenginescript.cpp
|
|
scripting/runnerscript.cpp
|
|
scripting/scriptengine.cpp
|
|
scripting/uiloader.cpp
|
|
service.cpp
|
|
servicejob.cpp
|
|
svg.cpp
|
|
theme.cpp
|
|
tooltipcontent.cpp
|
|
tooltipmanager.cpp
|
|
version.cpp
|
|
view.cpp
|
|
wallpaper.cpp
|
|
widgets/checkbox.cpp
|
|
widgets/combobox.cpp
|
|
widgets/flashinglabel.cpp
|
|
widgets/frame.cpp
|
|
widgets/groupbox.cpp
|
|
widgets/iconwidget.cpp
|
|
widgets/label.cpp
|
|
widgets/lineedit.cpp
|
|
widgets/meter.cpp
|
|
widgets/pushbutton.cpp
|
|
widgets/radiobutton.cpp
|
|
widgets/scrollbar.cpp
|
|
widgets/signalplotter.cpp
|
|
widgets/slider.cpp
|
|
widgets/busywidget.cpp
|
|
widgets/svgwidget.cpp
|
|
widgets/tabbar.cpp
|
|
widgets/treeview.cpp
|
|
widgets/textedit.cpp
|
|
widgets/webview.cpp
|
|
)
|
|
|
|
#NEPOMUK_GENERATE_FROM_ONTOLOGY(
|
|
# nwc.nrl
|
|
# ${metadata_test_BINARY_DIR}
|
|
# TEST_HEADERS
|
|
# TEST_SOURCES
|
|
# TEST_INCLUDES
|
|
#)
|
|
|
|
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} knewstuff2
|
|
${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
|
|
threadweaver ${KDE4_SOLID_LIBS} )
|
|
if(X11_FOUND)
|
|
target_link_libraries(plasma ${X11_LIBRARIES})
|
|
endif(X11_FOUND)
|
|
|
|
|
|
if(DL_LIBRARY)
|
|
target_link_libraries(plasma ${DL_LIBRARY})
|
|
endif(DL_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)
|
|
|
|
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 3.0.0
|
|
SOVERSION 3
|
|
)
|
|
|
|
install(TARGETS plasma EXPORT kdelibsLibraryTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
|
|
|
|
|
|
########### install files ###############
|
|
|
|
set(plasmagik_HEADERS
|
|
packagemetadata.h
|
|
packagestructure.h
|
|
package.h
|
|
)
|
|
|
|
install(FILES ${plasmagik_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/ COMPONENT Devel)
|
|
|
|
set(plasma_LIB_INCLUDES
|
|
abstractrunner.h
|
|
animationdriver.h
|
|
animator.h
|
|
applet.h
|
|
configloader.h
|
|
containment.h
|
|
context.h
|
|
corona.h
|
|
datacontainer.h
|
|
dataengine.h
|
|
dataenginemanager.h
|
|
delegate.h
|
|
dialog.h
|
|
extender.h
|
|
extenderitem.h
|
|
paintutils.h
|
|
framesvg.h
|
|
plasma.h
|
|
plasma_export.h
|
|
popupapplet.h
|
|
querymatch.h
|
|
runnercontext.h
|
|
runnermanager.h
|
|
service.h
|
|
servicejob.h
|
|
svg.h
|
|
theme.h
|
|
tooltipcontent.h
|
|
tooltipmanager.h
|
|
tooltipmanager.h
|
|
version.h
|
|
view.h
|
|
wallpaper.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 COMPONENT Devel)
|
|
|
|
install(FILES
|
|
widgets/checkbox.h
|
|
widgets/combobox.h
|
|
widgets/flashinglabel.h
|
|
widgets/frame.h
|
|
widgets/groupbox.h
|
|
widgets/iconwidget.h
|
|
widgets/label.h
|
|
widgets/lineedit.h
|
|
widgets/meter.h
|
|
widgets/pushbutton.h
|
|
widgets/radiobutton.h
|
|
widgets/scrollbar.h
|
|
widgets/signalplotter.h
|
|
widgets/slider.h
|
|
widgets/busywidget.h
|
|
widgets/svgwidget.h
|
|
widgets/tabbar.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/scriptengine.h
|
|
scripting/uiloader.h
|
|
DESTINATION ${INCLUDE_INSTALL_DIR}/plasma/scripting COMPONENT Devel)
|
|
|
|
|
|
|
|
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
|
|
servicetypes/plasma-wallpaper.desktop
|
|
DESTINATION ${SERVICETYPES_INSTALL_DIR})
|
|
|
|
install(FILES
|
|
servicetypes/plasma-applet-extenderapplet.desktop
|
|
DESTINATION ${SERVICES_INSTALL_DIR})
|
|
|
|
install(FILES scripting/plasmoids.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
|
|
|