2016-08-04 19:23:59 +02:00
|
|
|
add_subdirectory(packagestructure)
|
|
|
|
|
2012-02-01 12:41:32 +01:00
|
|
|
# This option should be removed, or moved down as far as possible.
|
|
|
|
# That means porting the existing frameworks to the CMake automoc
|
|
|
|
# feature. Porting is mostly removing explicit moc includes, and
|
|
|
|
# leaving the ones which are truly needed (ie, if you remove
|
|
|
|
# them, the build fails).
|
|
|
|
set(CMAKE_AUTOMOC_RELAXED_MODE ON)
|
|
|
|
|
2010-04-29 07:57:34 +02:00
|
|
|
if(KDE_PLATFORM_FEATURE_BINARY_COMPATIBLE_FEATURE_REDUCTION)
|
2011-07-21 14:39:55 +02:00
|
|
|
set(PLASMA_NO_PACKAGE_EXTRADATA TRUE)
|
2013-11-14 17:25:10 +01:00
|
|
|
endif()
|
2009-12-23 13:27:31 +01:00
|
|
|
|
2009-09-10 09:26:04 +02:00
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-plasma.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-plasma.h)
|
2009-09-02 04:27:16 +02:00
|
|
|
|
2008-11-04 00:08:39 +01:00
|
|
|
add_definitions(-DKDE_DEFAULT_DEBUG_AREA=1209)
|
|
|
|
|
|
|
|
########### next target ###############
|
|
|
|
|
2013-10-16 00:47:47 +02:00
|
|
|
set(Plasma_LIB_SRCS
|
2013-03-13 11:56:24 +01:00
|
|
|
#global
|
|
|
|
plasma.cpp
|
|
|
|
pluginloader.cpp
|
|
|
|
version.cpp
|
|
|
|
|
|
|
|
#applets,containments,corona
|
|
|
|
applet.cpp
|
|
|
|
containment.cpp
|
2009-08-18 00:31:32 +02:00
|
|
|
containmentactions.cpp
|
2013-03-13 11:56:24 +01:00
|
|
|
corona.cpp
|
|
|
|
private/applet_p.cpp
|
|
|
|
private/associatedapplicationmanager.cpp
|
|
|
|
private/containment_p.cpp
|
2014-07-10 19:20:59 +02:00
|
|
|
private/timetracker.cpp
|
2013-03-13 11:56:24 +01:00
|
|
|
|
|
|
|
#Dataengines, services
|
2008-11-04 00:08:39 +01:00
|
|
|
datacontainer.cpp
|
|
|
|
dataengine.cpp
|
2012-09-24 15:51:14 +02:00
|
|
|
dataengineconsumer.cpp
|
2013-03-13 11:56:24 +01:00
|
|
|
service.cpp
|
|
|
|
servicejob.cpp
|
2008-11-04 00:08:39 +01:00
|
|
|
private/datacontainer_p.cpp
|
2012-09-24 16:09:16 +02:00
|
|
|
private/dataenginemanager.cpp
|
2013-03-13 11:56:24 +01:00
|
|
|
private/storage.cpp
|
|
|
|
private/storagethread.cpp
|
2012-12-09 14:12:55 +01:00
|
|
|
|
2013-03-13 11:56:24 +01:00
|
|
|
#packages
|
|
|
|
package.cpp
|
|
|
|
packagestructure.cpp
|
|
|
|
|
|
|
|
#graphics
|
|
|
|
framesvg.cpp
|
|
|
|
svg.cpp
|
|
|
|
theme.cpp
|
2013-03-11 20:20:50 +01:00
|
|
|
private/theme_p.cpp
|
2012-02-28 18:15:00 +01:00
|
|
|
|
2013-03-13 11:56:24 +01:00
|
|
|
#scripting
|
2008-11-04 00:08:39 +01:00
|
|
|
scripting/appletscript.cpp
|
|
|
|
scripting/dataenginescript.cpp
|
|
|
|
scripting/scriptengine.cpp
|
2011-05-31 01:05:01 +02:00
|
|
|
)
|
|
|
|
|
2014-02-12 14:00:54 +01:00
|
|
|
if(HAVE_X11)
|
|
|
|
set(Plasma_LIB_SRCS ${Plasma_LIB_SRCS} private/effectwatcher.cpp)
|
|
|
|
endif()
|
2012-11-23 20:09:15 +01:00
|
|
|
|
2013-10-16 00:47:47 +02:00
|
|
|
kconfig_add_kcfg_files(Plasma_LIB_SRCS data/kconfigxt/libplasma-theme-global.kcfgc)
|
2009-10-07 20:44:33 +02:00
|
|
|
|
2020-02-12 04:09:12 +01:00
|
|
|
ecm_qt_declare_logging_category(Plasma_LIB_SRCS
|
|
|
|
HEADER debug_p.h
|
|
|
|
IDENTIFIER LOG_PLASMA
|
2020-07-13 03:16:11 +02:00
|
|
|
CATEGORY_NAME kf.plasma.core
|
|
|
|
OLD_CATEGORY_NAMES org.kde.plasma
|
2020-02-12 04:09:12 +01:00
|
|
|
DESCRIPTION "Plasma Core lib"
|
|
|
|
EXPORT PLASMA
|
|
|
|
)
|
2008-11-04 00:08:39 +01:00
|
|
|
|
2013-12-11 12:39:48 +01:00
|
|
|
add_library(KF5Plasma ${Plasma_LIB_SRCS})
|
|
|
|
add_library(KF5::Plasma ALIAS KF5Plasma)
|
2019-10-15 20:23:31 +02:00
|
|
|
ecm_generate_export_header(KF5Plasma
|
|
|
|
EXPORT_FILE_NAME plasma/plasma_export.h
|
|
|
|
BASE_NAME Plasma
|
2019-10-20 03:46:32 +02:00
|
|
|
GROUP_BASE_NAME KF
|
2021-01-29 23:25:42 +01:00
|
|
|
VERSION ${KF_VERSION}
|
2019-10-15 20:23:31 +02:00
|
|
|
DEPRECATED_BASE_VERSION 0
|
2020-12-17 12:31:27 +01:00
|
|
|
DEPRECATION_VERSIONS 5.6 5.19 5.28 5.30 5.36 5.46 5.67 5.77 5.78
|
2019-10-15 20:23:31 +02:00
|
|
|
)
|
|
|
|
# TODO: add support for EXCLUDE_DEPRECATED_BEFORE_AND_AT to all Plasma libs
|
|
|
|
# needs fixing of undeprecated API being still implemented using own deprecated API
|
2008-11-04 00:08:39 +01:00
|
|
|
|
2014-02-12 14:00:54 +01:00
|
|
|
if(HAVE_X11)
|
2015-11-06 10:32:20 +01:00
|
|
|
set(PLASMA_EXTRA_LIBS ${PLASMA_EXTRA_LIBS} Qt5::X11Extras ${X11_LIBRARIES} XCB::XCB)
|
2013-12-27 14:46:45 +01:00
|
|
|
endif()
|
|
|
|
|
2013-12-11 12:39:48 +01:00
|
|
|
target_link_libraries(KF5Plasma
|
2013-12-27 14:46:45 +01:00
|
|
|
PUBLIC
|
|
|
|
KF5::Service # For kplugininfo.h and kservice.h
|
2014-05-19 16:58:37 +02:00
|
|
|
Qt5::Gui
|
2014-11-11 16:44:48 +01:00
|
|
|
KF5::Package
|
2014-05-26 04:16:57 +02:00
|
|
|
PRIVATE
|
2013-10-16 00:28:02 +02:00
|
|
|
Qt5::Sql
|
2013-08-20 07:47:09 +02:00
|
|
|
Qt5::Svg
|
2013-10-01 14:12:14 +02:00
|
|
|
Qt5::DBus
|
2013-12-11 14:01:52 +01:00
|
|
|
KF5::Archive
|
2014-02-27 13:19:00 +01:00
|
|
|
KF5::GuiAddons #kimagecache
|
2013-12-11 14:01:52 +01:00
|
|
|
KF5::I18n
|
2014-05-19 19:18:52 +02:00
|
|
|
KF5::KIOCore #ServiceJob
|
2020-05-22 22:36:25 +02:00
|
|
|
KF5::KIOWidgets #KIO::JobUiDelegate
|
2014-05-19 19:18:52 +02:00
|
|
|
KF5::WindowSystem #compositingActive
|
|
|
|
KF5::Declarative #runtimePlatform
|
|
|
|
KF5::XmlGui #KActionCollection
|
|
|
|
KF5::GlobalAccel #Applet::setGlobalShortcut
|
2014-10-28 15:01:03 +01:00
|
|
|
KF5::Notifications
|
2015-01-28 14:45:37 +01:00
|
|
|
KF5::IconThemes
|
2013-10-16 00:28:02 +02:00
|
|
|
${PLASMA_EXTRA_LIBS}
|
2013-04-03 00:10:04 +02:00
|
|
|
)
|
2009-09-09 20:47:11 +02:00
|
|
|
|
2019-10-19 00:39:53 +02:00
|
|
|
set(Plasma_BUILD_INCLUDE_DIRS
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/..
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/Plasma
|
|
|
|
)
|
2013-12-11 12:39:48 +01:00
|
|
|
target_include_directories(KF5Plasma PUBLIC
|
2019-10-19 00:39:53 +02:00
|
|
|
"$<BUILD_INTERFACE:${Plasma_BUILD_INCLUDE_DIRS}>"
|
2013-10-12 15:24:32 +02:00
|
|
|
)
|
2013-12-11 12:39:48 +01:00
|
|
|
target_include_directories(KF5Plasma INTERFACE
|
2021-01-29 01:16:09 +01:00
|
|
|
"$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5};${KDE_INSTALL_INCLUDEDIR_KF5}/Plasma>"
|
2013-10-12 15:24:32 +02:00
|
|
|
)
|
2008-11-11 00:52:13 +01:00
|
|
|
|
2013-12-11 12:39:48 +01:00
|
|
|
set_target_properties(KF5Plasma PROPERTIES
|
2014-02-11 16:23:16 +01:00
|
|
|
VERSION ${PLASMA_VERSION_STRING}
|
|
|
|
SOVERSION ${PLASMA_SOVERSION}
|
2013-12-11 12:39:48 +01:00
|
|
|
EXPORT_NAME Plasma
|
2008-11-04 00:08:39 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
########### install files ###############
|
2014-03-17 16:28:24 +01:00
|
|
|
ecm_generate_headers(Plasma_CamelCase_HEADERS
|
|
|
|
HEADER_NAMES
|
|
|
|
Applet
|
|
|
|
Containment
|
|
|
|
ContainmentActions
|
|
|
|
Corona
|
|
|
|
DataContainer
|
|
|
|
DataEngine
|
|
|
|
DataEngineConsumer
|
|
|
|
PluginLoader
|
|
|
|
FrameSvg
|
|
|
|
Package
|
|
|
|
PackageStructure
|
|
|
|
Service
|
|
|
|
ServiceJob
|
|
|
|
Svg
|
|
|
|
Theme
|
|
|
|
Plasma
|
|
|
|
REQUIRED_HEADERS Plasma_HEADERS
|
|
|
|
PREFIX Plasma
|
|
|
|
)
|
2008-11-04 00:08:39 +01:00
|
|
|
|
2017-05-20 05:04:10 +02:00
|
|
|
set(Plasma_HEADERS
|
|
|
|
${Plasma_HEADERS}
|
|
|
|
version.h
|
|
|
|
)
|
|
|
|
|
|
|
|
set(PlasmaScripting_HEADERS
|
|
|
|
scripting/appletscript.h
|
|
|
|
scripting/dataenginescript.h
|
|
|
|
scripting/scriptengine.h
|
|
|
|
)
|
|
|
|
|
2008-11-04 00:08:39 +01:00
|
|
|
|
|
|
|
install(FILES
|
2014-03-17 16:28:24 +01:00
|
|
|
${Plasma_HEADERS}
|
2014-03-18 12:01:20 +01:00
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/plasma/plasma_export.h
|
2015-01-10 18:47:31 +01:00
|
|
|
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/plasma COMPONENT Devel)
|
2008-11-04 00:08:39 +01:00
|
|
|
|
2015-01-31 13:56:38 +01:00
|
|
|
install(FILES ${Plasma_CamelCase_HEADERS}
|
|
|
|
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/Plasma COMPONENT Devel)
|
2013-02-05 17:48:34 +01:00
|
|
|
|
2008-11-04 00:08:39 +01:00
|
|
|
|
2017-05-20 05:04:10 +02:00
|
|
|
install(FILES ${PlasmaScripting_HEADERS}
|
2015-01-10 18:47:31 +01:00
|
|
|
DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/plasma/scripting COMPONENT Devel)
|
2008-11-04 00:08:39 +01:00
|
|
|
|
|
|
|
install(FILES
|
2009-09-03 22:40:22 +02:00
|
|
|
data/servicetypes/plasma-applet.desktop
|
|
|
|
data/servicetypes/plasma-containment.desktop
|
|
|
|
data/servicetypes/plasma-containmentactions.desktop
|
|
|
|
data/servicetypes/plasma-dataengine.desktop
|
2013-05-02 23:54:11 +02:00
|
|
|
data/servicetypes/plasma-generic.desktop
|
2009-09-03 22:40:22 +02:00
|
|
|
data/servicetypes/plasma-packagestructure.desktop
|
|
|
|
data/servicetypes/plasma-scriptengine.desktop
|
2010-10-23 16:19:07 +02:00
|
|
|
data/servicetypes/plasma-service.desktop
|
2013-04-25 03:23:53 +02:00
|
|
|
data/servicetypes/plasma-shell.desktop
|
|
|
|
data/servicetypes/plasma-lookandfeel.desktop
|
2015-01-10 18:47:31 +01:00
|
|
|
DESTINATION ${KDE_INSTALL_KSERVICETYPES5DIR})
|
2008-11-04 00:08:39 +01:00
|
|
|
|
2014-04-27 17:14:22 +02:00
|
|
|
install(FILES data/operations/dataengineservice.operations DESTINATION ${PLASMA_DATA_INSTALL_DIR}/services)
|
|
|
|
install(FILES data/operations/plasmoidservice.operations DESTINATION ${PLASMA_DATA_INSTALL_DIR}/services)
|
|
|
|
install(FILES data/operations/storage.operations DESTINATION ${PLASMA_DATA_INSTALL_DIR}/services)
|
2009-09-02 11:45:52 +02:00
|
|
|
|
2014-04-26 13:14:03 +02:00
|
|
|
install(TARGETS KF5Plasma EXPORT KF5PlasmaTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS})
|
2013-06-13 16:01:06 +02:00
|
|
|
|
2017-05-20 05:04:10 +02:00
|
|
|
if(BUILD_QCH)
|
|
|
|
ecm_add_qch(
|
|
|
|
KF5Plasma_QCH
|
|
|
|
NAME Plasma
|
|
|
|
BASE_NAME KF5Plasma
|
2021-01-29 23:25:42 +01:00
|
|
|
VERSION ${KF_VERSION}
|
2017-05-20 05:04:10 +02:00
|
|
|
ORG_DOMAIN org.kde
|
|
|
|
SOURCES # using only public headers, to cover only public API
|
|
|
|
${Plasma_HEADERS}
|
|
|
|
${PlasmaScripting_HEADERS}
|
|
|
|
Mainpage.dox
|
|
|
|
MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
|
|
|
|
LINK_QCHS
|
|
|
|
Qt5Gui_QCH
|
|
|
|
KF5Service_QCH
|
|
|
|
KF5Package_QCH
|
2019-10-19 00:39:53 +02:00
|
|
|
INCLUDE_DIRS
|
|
|
|
${Plasma_BUILD_INCLUDE_DIRS}
|
2017-05-20 05:04:10 +02:00
|
|
|
BLANK_MACROS
|
|
|
|
PLASMA_EXPORT
|
|
|
|
PLASMA_DEPRECATED
|
|
|
|
PLASMA_DEPRECATED_EXPORT
|
2019-10-22 19:41:15 +02:00
|
|
|
"PLASMA_DEPRECATED_VERSION(x, y, t)"
|
2017-05-20 05:04:10 +02:00
|
|
|
TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
|
|
|
|
QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
|
|
|
|
COMPONENT Devel
|
|
|
|
)
|
|
|
|
endif()
|