mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
5.1 KiB
133 lines
5.1 KiB
add_definitions(-DTRANSLATION_DOMAIN=\"libnotificationmanager\") |
|
|
|
add_subdirectory(declarative) |
|
if(BUILD_TESTING) |
|
add_subdirectory(autotests) |
|
endif() |
|
|
|
set(notificationmanager_LIB_SRCS |
|
server.cpp |
|
server_p.cpp |
|
serverinfo.cpp |
|
settings.cpp |
|
mirroredscreenstracker.cpp |
|
notifications.cpp |
|
notification.cpp |
|
|
|
abstractnotificationsmodel.cpp |
|
notificationsmodel.cpp |
|
notificationfilterproxymodel.cpp |
|
notificationsortproxymodel.cpp |
|
notificationgroupingproxymodel.cpp |
|
notificationgroupcollapsingproxymodel.cpp |
|
watchednotificationsmodel.cpp |
|
|
|
jobsmodel.cpp |
|
jobsmodel_p.cpp |
|
job.cpp |
|
job_p.cpp |
|
|
|
limitedrowcountproxymodel.cpp |
|
|
|
utils.cpp |
|
) |
|
|
|
ecm_qt_declare_logging_category(notificationmanager_LIB_SRCS |
|
HEADER debug.h |
|
IDENTIFIER NOTIFICATIONMANAGER |
|
CATEGORY_NAME org.kde.plasma.notifications |
|
DESCRIPTION "Plasma Notifications" EXPORT LIBNOTIFICATIONMANAGER) |
|
|
|
ecm_qt_install_logging_categories( |
|
EXPORT LIBNOTIFICATIONMANAGER |
|
FILE libnotificationmanager.categories |
|
DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} |
|
) |
|
|
|
# Settings |
|
kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/donotdisturbsettings.kcfgc GENERATE_MOC) |
|
kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/notificationsettings.kcfgc GENERATE_MOC) |
|
kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/jobsettings.kcfgc GENERATE_MOC) |
|
kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/badgesettings.kcfgc GENERATE_MOC) |
|
kconfig_add_kcfg_files(notificationmanager_LIB_SRCS kcfg/behaviorsettings.kcfgc GENERATE_MOC) |
|
|
|
# DBus |
|
# Notifications |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.freedesktop.Notifications.xml server_p.h NotificationManager::ServerPrivate) |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.kde.notificationmanager.xml server_p.h NotificationManager::ServerPrivate) |
|
qt_add_dbus_interface(notificationmanager_LIB_SRCS dbus/org.freedesktop.Notifications.xml fdonotifications_interface) |
|
# JobView |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.kde.kuiserver.xml jobsmodel_p.h NotificationManager::JobsModelPrivate) |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.kde.JobViewServer.xml jobsmodel_p.h NotificationManager::JobsModelPrivate) |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.kde.JobViewServerV2.xml jobsmodel_p.h NotificationManager::JobsModelPrivate) |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.kde.JobViewV2.xml job_p.h NotificationManager::JobPrivate) |
|
qt_add_dbus_adaptor(notificationmanager_LIB_SRCS dbus/org.kde.JobViewV3.xml job_p.h NotificationManager::JobPrivate) |
|
|
|
add_library(notificationmanager ${notificationmanager_LIB_SRCS}) |
|
add_library(PW::LibNotificationManager ALIAS notificationmanager) |
|
|
|
target_compile_definitions(notificationmanager PRIVATE -DPROJECT_VERSION="${PROJECT_VERSION}") |
|
|
|
generate_export_header(notificationmanager) |
|
|
|
target_include_directories(notificationmanager PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>" "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}/notificationmanager>") |
|
|
|
target_link_libraries(notificationmanager |
|
PUBLIC |
|
Qt::Core |
|
Qt::Gui |
|
Qt::Quick |
|
KF5::ConfigCore |
|
KF5::ItemModels |
|
PRIVATE |
|
Qt::DBus |
|
KF5::ConfigGui |
|
KF5::I18n |
|
KF5::KIOFileWidgets |
|
KF5::Plasma |
|
KF5::Screen |
|
KF5::Service |
|
) |
|
|
|
set_target_properties(notificationmanager PROPERTIES |
|
VERSION ${PROJECT_VERSION} |
|
SOVERSION 1 |
|
EXPORT_NAME LibNotificationManager) |
|
|
|
install(TARGETS notificationmanager EXPORT notificationmanagerLibraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) |
|
|
|
install(FILES |
|
server.h |
|
notifications.h |
|
notification.h |
|
jobsmodel.h |
|
job.h |
|
settings.h |
|
${CMAKE_CURRENT_BINARY_DIR}/donotdisturbsettings.h |
|
${CMAKE_CURRENT_BINARY_DIR}/notificationsettings.h |
|
${CMAKE_CURRENT_BINARY_DIR}/jobsettings.h |
|
${CMAKE_CURRENT_BINARY_DIR}/badgesettings.h |
|
${CMAKE_CURRENT_BINARY_DIR}/behaviorsettings.h |
|
${CMAKE_CURRENT_BINARY_DIR}/notificationmanager_export.h |
|
DESTINATION ${KDE_INSTALL_INCLUDEDIR}/notificationmanager COMPONENT Devel |
|
) |
|
|
|
write_basic_config_version_file(${CMAKE_CURRENT_BINARY_DIR}/LibNotificationManagerConfigVersion.cmake VERSION "${PROJECT_VERSION}" COMPATIBILITY AnyNewerVersion) |
|
|
|
set(CMAKECONFIG_INSTALL_DIR ${KDE_INSTALL_LIBDIR}/cmake/LibNotificationManager) |
|
|
|
configure_package_config_file(LibNotificationManagerConfig.cmake.in |
|
"${CMAKE_CURRENT_BINARY_DIR}/LibNotificationManagerConfig.cmake" |
|
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}) |
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LibNotificationManagerConfig.cmake |
|
${CMAKE_CURRENT_BINARY_DIR}/LibNotificationManagerConfigVersion.cmake |
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR}) |
|
|
|
install(EXPORT notificationmanagerLibraryTargets |
|
NAMESPACE PW:: |
|
DESTINATION ${CMAKECONFIG_INSTALL_DIR} |
|
FILE LibNotificationManagerLibraryTargets.cmake ) |
|
|
|
install(FILES plasmanotifyrc |
|
DESTINATION ${KDE_INSTALL_CONFDIR})
|
|
|