Astyle kdelibs
[kdepim.git] / akonadiconsole / CMakeLists.txt
blob6ba6a2c4d679e430e21ae807beb4fba78d24c385
1 project(akonadiconsole)
3 include_directories(
4   ${AKONADI_INCLUDE_DIR}
7 include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
9 add_definitions( -DQT_NO_CAST_FROM_ASCII )
10 add_definitions( -DQT_NO_CAST_TO_ASCII )
12 add_subdirectory(icons)
13 add_subdirectory(kconf_update)
15 set(akonadiconsole_bin_SRCS
16   agentwidget.cpp
17   agentconfigdialog.cpp
18   agentconfigmodel.cpp
19   akonadibrowsermodel.cpp
20   browserwidget.cpp
21   collectionattributespage.cpp
22   collectioninternalspage.cpp
23   collectionaclpage.cpp
24   connectionpage.cpp
25   dbaccess.cpp
26   dbbrowser.cpp
27   dbconsole.cpp
28   debugwidget.cpp
29   instanceselector.cpp
30   main.cpp
31   mainwidget.cpp
32   mainwindow.cpp
33   monitorswidget.cpp
34   monitorsmodel.cpp
35   monitoritem.cpp
36   notificationmodel.cpp
37   notificationmonitor.cpp
38   searchdialog.cpp
39   searchwidget.cpp
40   querydebugger.cpp
41   jobtracker.cpp
42   jobtrackerwidget.cpp
43   jobtrackermodel.cpp
44   tagpropertiesdialog.cpp
47 ecm_qt_declare_logging_category(akonadiconsole_bin_SRCS HEADER akonadiconsole_debug.h IDENTIFIER AKONADICONSOLE_LOG CATEGORY_NAME log_akonadiconsole)
49 qt5_generate_dbus_interface(jobtracker.h org.freedesktop.Akonadi.JobTracker.xml)
50 qt5_add_dbus_adaptor(akonadiconsole_bin_SRCS ${CMAKE_CURRENT_BINARY_DIR}/org.freedesktop.Akonadi.JobTracker.xml jobtracker.h JobTracker)
52 qt5_add_dbus_interfaces(akonadiconsole_bin_SRCS
53   ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.TracerNotification.xml
55 # Use intalled interface once we can depend on Akoandi 1.1
56 set_source_files_properties(org.freedesktop.Akonadi.DebugInterface.xml PROPERTIES CLASSNAME DebugInterface)
57 qt5_add_dbus_interface(akonadiconsole_bin_SRCS
58   org.freedesktop.Akonadi.DebugInterface.xml
59   debuginterface
62 set_source_files_properties(${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.NotificationSource.xml
63   PROPERTIES INCLUDE ${AKONADI_INCLUDE_DIR}/akonadi/private/protocol_p.h
66 qt5_add_dbus_interface(akonadiconsole_bin_SRCS
67   ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.NotificationManager.xml
68   notificationmanagerinterface
71 qt5_add_dbus_interface(akonadiconsole_bin_SRCS
72   ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.NotificationSource.xml
73   notificationsourceinterface
76 qt5_add_dbus_interface(akonadiconsole_bin_SRCS
77   ${AKONADI_DBUS_INTERFACES_DIR}/org.freedesktop.Akonadi.StorageDebugger.xml
78   storagedebuggerinterface
81 ki18n_wrap_ui(akonadiconsole_bin_SRCS
82   agentwidget.ui
83   agentconfigdialog.ui
84   browserwidget_itemview.ui
85   collectionattributespage.ui
86   collectionaclpage.ui
87   dbbrowser.ui
88   dbconsole.ui
89   instanceselector.ui
90   browserwidget_contentview.ui
91   collectioninternalspage.ui
92   tagpropertiesdialog.ui
96 qt5_add_resources(akonadiconsole_bin_SRCS akonadiconsole.qrc)
98 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*-apps-akonadiconsole.png")
99 ecm_add_app_icon(akonadiconsole_bin_SRCS ICONS ${ICONS_SRCS})
101 add_executable(akonadiconsole_bin ${akonadiconsole_bin_SRCS})
102 set_target_properties(akonadiconsole_bin PROPERTIES OUTPUT_NAME akonadiconsole)
104 target_link_libraries(akonadiconsole_bin
105   KF5::AkonadiCore
106   KF5::AkonadiPrivate
107   KF5::AkonadiContact
108   KF5::CalendarSupport
109   KF5::CalendarCore
110   KF5::Libkdepim
111   KF5::MessageViewer
112   KF5::DBusAddons
113   Qt5::Sql
116 install(TARGETS akonadiconsole_bin ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
117 install(PROGRAMS org.kde.akonadiconsole.desktop DESTINATION ${KDE_INSTALL_APPDIR})