Warning, /pim/korganizer/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: none
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 add_definitions(-DTRANSLATION_DOMAIN=\"korganizer\")
0004 
0005 include_directories(${CMAKE_CURRENT_BINARY_DIR})
0006 
0007 if(BUILD_TESTING)
0008     add_subdirectory(tests)
0009     add_subdirectory(autotests)
0010 endif()
0011 add_subdirectory(interfaces)
0012 add_subdirectory(pixmaps)
0013 add_subdirectory(sounds)
0014 add_subdirectory(kontactplugin)
0015 add_subdirectory(views/collectionview)
0016 
0017 ########### next target ###############
0018 
0019 set(korganizer_userfeedback_LIB)
0020 if(TARGET KF6::UserFeedbackWidgets)
0021     set(korganizer_userfeedback_LIB KF6::UserFeedbackWidgets)
0022 endif()
0023 
0024 set(korganizer_common_SRCS)
0025 ecm_qt_declare_logging_category(korganizer_common_SRCS HEADER korganizer_debug.h IDENTIFIER KORGANIZER_LOG CATEGORY_NAME org.kde.pim.korganizer
0026         DESCRIPTION "korganizer (korganizer)"
0027         OLD_CATEGORY_NAMES log_korganizer
0028         EXPORT KORGANIZER
0029     )
0030 
0031 set(korganizer_SRCS
0032     main.cpp
0033     korganizer.cpp
0034     koapp.cpp
0035     plugininterface/korganizerplugininterface.cpp
0036     korganizer.h
0037     koapp.h
0038     plugininterface/korganizerplugininterface.h
0039     ${korganizer_common_SRCS}
0040     )
0041 
0042 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pixmaps/*-apps-korganizer.png")
0043 ecm_add_app_icon(korganizer_SRCS ICONS ${ICONS_SRCS})
0044 
0045 add_executable(korganizer ${korganizer_SRCS})
0046 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0047     set_target_properties(korganizer PROPERTIES UNITY_BUILD ON)
0048 endif()
0049 target_link_libraries(korganizer
0050     KPim6::KontactInterface
0051     KF6::CalendarCore
0052     korganizerprivate
0053     korganizer_interfaces
0054     korganizer_core
0055     KPim6::PimCommonAkonadi
0056     KF6::Crash
0057     KF6::WindowSystem
0058     ${korganizer_userfeedback_LIB}
0059     )
0060 
0061 install(TARGETS
0062     korganizer ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0063     )
0064 
0065 ########### next target ###############
0066 add_library(korganizer_kcm_static STATIC widgets/kitemiconcheckcombo.cpp prefs/kprefsdialog.cpp widgets/kitemiconcheckcombo.h prefs/kprefsdialog.h ${korganizer_common_SRCS})
0067 set_property(TARGET korganizer_kcm_static PROPERTY POSITION_INDEPENDENT_CODE ON)
0068 target_link_libraries(korganizer_kcm_static
0069     KF6::KCMUtils
0070 
0071     KPim6::AkonadiCalendar
0072     KPim6::CalendarSupport
0073     KPim6::EventViews
0074     KPim6::IncidenceEditor
0075     korganizer_core
0076     korganizerprivate
0077     Qt::UiTools
0078     KF6::CalendarCore
0079     KF6::Holidays
0080     KPim6::MailTransport
0081     KPim6::PimCommon
0082     KPim6::AkonadiWidgets
0083     KF6::WindowSystem
0084     KF6::KIOWidgets
0085     )
0086 
0087 add_library(korganizer_configcolorsandfonts MODULE prefs/koprefsdialogcolorsandfonts.cpp prefs/koprefsdialogcolorsandfonts.h)
0088 target_link_libraries(korganizer_configcolorsandfonts korganizer_kcm_static)
0089 install(TARGETS korganizer_configcolorsandfonts DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0090 
0091 add_library(korganizer_configdesignerfields MODULE prefs/koprefsdesignerfields.cpp kcmdesignerfields.cpp prefs/koprefsdesignerfields.h kcmdesignerfields.h)
0092 target_link_libraries(korganizer_configdesignerfields korganizer_kcm_static)
0093 install(TARGETS korganizer_configdesignerfields DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0094 
0095 add_library(korganizer_configfreebusy MODULE prefs/koprefsdialoggroupwarescheduling.h prefs/koprefsdialoggroupwarescheduling.cpp)
0096 target_link_libraries(korganizer_configfreebusy korganizer_kcm_static)
0097 install(TARGETS korganizer_configfreebusy DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0098 
0099 add_library(korganizer_configgroupscheduling MODULE prefs/koprefsdialogmain.h prefs/koprefsdialogmain.cpp)
0100 target_link_libraries(korganizer_configgroupscheduling korganizer_kcm_static)
0101 install(TARGETS korganizer_configgroupscheduling DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0102 
0103 add_library(korganizer_configmain MODULE prefs/koprefsdialoggroupscheduling.h prefs/koprefsdialoggroupscheduling.cpp)
0104 target_link_libraries(korganizer_configmain korganizer_kcm_static)
0105 install(TARGETS korganizer_configmain DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0106 
0107 add_library(korganizer_configplugins MODULE prefs/koprefsdialogplugins.cpp prefs/koprefsdialogplugins.h)
0108 target_link_libraries(korganizer_configplugins korganizer_kcm_static)
0109 install(TARGETS korganizer_configplugins DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0110 
0111 add_library(korganizer_configtime MODULE prefs/koprefsdialogtime.cpp prefs/koprefsdialogtime.h)
0112 target_link_libraries(korganizer_configtime korganizer_kcm_static)
0113 install(TARGETS korganizer_configtime DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0114 
0115 add_library(korganizer_configviews MODULE prefs/koprefsdialogviews.cpp prefs/koprefsdialogviews.h)
0116 target_link_libraries(korganizer_configviews korganizer_kcm_static)
0117 install(TARGETS korganizer_configviews DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0118 
0119 add_library(korganizer_userfeedback MODULE prefs/koprefsuserfeedback.cpp prefs/koprefsuserfeedback.h)
0120 target_link_libraries(korganizer_userfeedback korganizer_kcm_static ${korganizer_userfeedback_LIB})
0121 install(TARGETS korganizer_userfeedback DESTINATION ${KDE_INSTALL_PLUGINDIR}/pim6/kcms/korganizer)
0122 
0123 ########### next target ###############
0124 
0125 set(korganizerpart_PART_SRCS korganizer_part.cpp korganizer_part.h korganizer_debug.cpp)
0126 
0127 add_library(korganizerpart MODULE ${korganizerpart_PART_SRCS})
0128 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0129     set_target_properties(korganizerpart PROPERTIES UNITY_BUILD ON)
0130 endif()
0131 
0132 target_link_libraries(korganizerpart
0133     KPim6::CalendarSupport
0134     korganizer_core
0135     korganizer_interfaces
0136     korganizerprivate
0137     KPim6::AkonadiCore
0138     KF6::CalendarCore
0139     KPim6::CalendarUtils
0140     KF6::KIOWidgets
0141     )
0142 
0143 install(TARGETS
0144     korganizerpart
0145     DESTINATION ${KDE_INSTALL_PLUGINDIR}
0146     )
0147 
0148 ########### next target ###############
0149 
0150 set(korganizer_core_LIB_SRCS
0151     prefs/koprefs.cpp
0152     kocore.cpp
0153     prefs/koprefs.h
0154     kocore.h
0155     ${korganizer_common_SRCS}
0156     )
0157 
0158 kconfig_add_kcfg_files(korganizer_core_LIB_SRCS settings/koprefs_base.kcfgc)
0159 
0160 add_library(korganizer_core ${korganizer_core_LIB_SRCS})
0161 generate_export_header(korganizer_core BASE_NAME korganizer_core)
0162 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0163     set_target_properties(korganizer_core PROPERTIES UNITY_BUILD ON)
0164 endif()
0165 target_link_libraries(korganizer_core
0166     PUBLIC
0167     korganizer_interfaces
0168     PRIVATE
0169     KPim6::CalendarSupport
0170     KPim6::EventViews
0171     KPim6::IdentityManagementCore
0172     )
0173 
0174 target_include_directories(korganizer_core PUBLIC
0175     "$<BUILD_INTERFACE:${korganizer_SOURCE_DIR};${korganizer_BINARY_DIR}>"
0176     )
0177 
0178 set_target_properties(korganizer_core PROPERTIES
0179     VERSION ${KDEPIM_LIB_VERSION}
0180     SOVERSION ${KDEPIM_LIB_SOVERSION}
0181     )
0182 
0183 install(TARGETS
0184     korganizer_core ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0185     LIBRARY NAMELINK_SKIP
0186     )
0187 
0188 ########### next target ###############
0189 set(korganizerprivate_userfeedback_SRCS)
0190 if(TARGET KF6::UserFeedbackWidgets)
0191     set(korganizerprivate_userfeedback_SRCS ${korganizerprivate_userfeedback_SRCS}
0192         userfeedback/userfeedbackmanager.cpp
0193         userfeedback/korganizeruserfeedbackprovider.cpp
0194         userfeedback/userfeedbackmanager.h
0195         userfeedback/korganizeruserfeedbackprovider.h
0196         )
0197 endif()
0198 
0199 set(korganizerprivate_LIB_SRCS
0200     ${korganizer_common_SRCS}
0201     ${korganizerprivate_userfeedback_SRCS}
0202     manageshowcollectionproperties.cpp
0203     collectiongeneralpage.cpp
0204     aboutdata.cpp
0205     actionmanager.cpp
0206     akonadicollectionview.cpp
0207     views/collectionview/reparentingmodel.cpp
0208     views/collectionview/calendardelegate.cpp
0209     views/collectionview/quickview.cpp
0210     calendarview.cpp
0211     datechecker.cpp
0212     datenavigator.cpp
0213     datenavigatorcontainer.cpp
0214     dialog/filtereditdialog.cpp
0215     widgets/kdatenavigator.cpp
0216     kocorehelper.cpp
0217     kodaymatrix.cpp
0218     kodialogmanager.cpp
0219     koeventpopupmenu.cpp
0220     koeventview.cpp
0221     dialog/koeventviewerdialog.cpp
0222     koglobals.cpp
0223     kohelper.cpp
0224     impl/korganizerifaceimpl.cpp
0225     koviewmanager.cpp
0226     kowindowlist.cpp
0227     widgets/navigatorbar.cpp
0228     dialog/searchdialog.cpp
0229     views/agendaview/koagendaview.cpp
0230     views/journalview/kojournalview.cpp
0231     views/listview/kolistview.cpp
0232     views/monthview/monthview.cpp
0233     views/multiagendaview/multiagendaview.cpp
0234     views/timelineview/kotimelineview.cpp
0235     views/todoview/kotodoview.cpp
0236     views/whatsnextview/kowhatsnextview.cpp
0237     pimmessagebox.cpp
0238     korganizer.qrc
0239     agendaitem_pixmaps/agendaitemtheme.qrc
0240 
0241     manageshowcollectionproperties.h
0242     collectiongeneralpage.h
0243     aboutdata.h
0244     actionmanager.h
0245     akonadicollectionview.h
0246     views/collectionview/reparentingmodel.h
0247     views/collectionview/calendardelegate.h
0248     views/collectionview/quickview.h
0249     calendarview.h
0250     datechecker.h
0251     datenavigator.h
0252     datenavigatorcontainer.h
0253     dialog/filtereditdialog.h
0254     widgets/kdatenavigator.h
0255     kocorehelper.h
0256     kodaymatrix.h
0257     kodialogmanager.h
0258     koeventpopupmenu.h
0259     koeventview.h
0260     dialog/koeventviewerdialog.h
0261     koglobals.h
0262     kohelper.h
0263     impl/korganizerifaceimpl.h
0264     koviewmanager.h
0265     kowindowlist.h
0266     widgets/navigatorbar.h
0267     dialog/searchdialog.h
0268     views/agendaview/koagendaview.h
0269     views/journalview/kojournalview.h
0270     views/listview/kolistview.h
0271     views/monthview/monthview.h
0272     views/multiagendaview/multiagendaview.h
0273     views/timelineview/kotimelineview.h
0274     views/todoview/kotodoview.h
0275     views/whatsnextview/kowhatsnextview.h
0276     pimmessagebox.h
0277     )
0278 
0279 set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/qrc_korganizer.cpp PROPERTY SKIP_AUTOMOC ON)
0280 set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/qrc_agendaitemtheme.cpp PROPERTY SKIP_AUTOMOC ON)
0281 
0282 
0283 ki18n_wrap_ui(korganizerprivate_LIB_SRCS
0284     ui/filteredit_base.ui
0285     ui/kogroupwareprefspage.ui
0286     views/multiagendaview/multiagendaviewconfigwidget.ui
0287     ui/searchdialog_base.ui
0288     views/collectionview/quickview.ui
0289     )
0290 
0291 qt_add_dbus_adaptor(korganizerprivate_LIB_SRCS
0292     data/org.kde.korganizer.Korganizer.xml impl/korganizerifaceimpl.h
0293     KOrganizerIfaceImpl
0294     )
0295 
0296 qt_add_dbus_adaptor(korganizerprivate_LIB_SRCS
0297     data/org.kde.Korganizer.Calendar.xml actionmanager.h
0298     ActionManager calendaradaptor KOrgCalendarAdaptor
0299     )
0300 qt_add_dbus_adaptor(korganizerprivate_LIB_SRCS
0301     data/org.kde.calendar.Calendar.xml actionmanager.h
0302     ActionManager calendarinterfaceadaptor CalendarInterfaceAdaptor
0303     )
0304 
0305 qt_add_dbus_interfaces(korganizerprivate_LIB_SRCS
0306     data/org.kde.korganizer.Korganizer.xml
0307     )
0308 
0309 qt_add_dbus_interfaces(korganizerprivate_LIB_SRCS
0310     ${korganizer_SOURCE_DIR}/src/data/org.kde.korganizer.Korganizer.xml
0311     )
0312 
0313 add_library(korganizerprivate ${korganizerprivate_LIB_SRCS})
0314 if (COMPILE_WITH_UNITY_CMAKE_SUPPORT)
0315     set_target_properties(korganizerprivate PROPERTIES UNITY_BUILD ON)
0316     set_source_files_properties(
0317         ${CMAKE_CURRENT_BINARY_DIR}/qrc_korganizer.cpp
0318         ${CMAKE_CURRENT_BINARY_DIR}/qrc_agendaitemtheme.cpp
0319         PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
0320 endif()
0321 
0322 generate_export_header(korganizerprivate BASE_NAME korganizerprivate)
0323 
0324 target_link_libraries(korganizerprivate
0325     PUBLIC
0326     KPim6::PimCommonAkonadi
0327     PRIVATE
0328     KPim6::CalendarSupport
0329     KPim6::EventViews
0330     KPim6::IncidenceEditor
0331     korganizer_core
0332     korganizer_interfaces
0333     KPim6::AkonadiCore
0334     KPim6::AkonadiCalendar
0335     KPim6::AkonadiNotes
0336     KF6::Contacts
0337     KF6::CalendarCore
0338     KPim6::CalendarUtils
0339     KF6::Holidays
0340     KPim6::Mime
0341     KPim6::IdentityManagementCore
0342     KF6::KCMUtils
0343     KF6::NewStuffWidgets
0344     KPim6::LdapWidgets
0345     KPim6::AkonadiWidgets
0346     KF6::IconThemes
0347     KF6::IconWidgets
0348     KF6::WindowSystem
0349     KF6::ItemViews
0350     KF6::JobWidgets
0351     KF6::KIOGui
0352     ${korganizer_userfeedback_LIB}
0353     )
0354 
0355 target_include_directories(korganizerprivate PUBLIC
0356     "$<BUILD_INTERFACE:${korganizer_SOURCE_DIR};${korganizer_BINARY_DIR}>"
0357     )
0358 
0359 set_target_properties(korganizerprivate PROPERTIES
0360     VERSION ${KDEPIM_LIB_VERSION}
0361     SOVERSION ${KDEPIM_LIB_SOVERSION}
0362     )
0363 
0364 install(TARGETS
0365     korganizerprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
0366     LIBRARY NAMELINK_SKIP
0367     )
0368 
0369 ########### install files ###############
0370 
0371 install(FILES
0372     settings/korganizer.kcfg
0373     DESTINATION ${KDE_INSTALL_KCFGDIR}
0374     )
0375 
0376 install(FILES
0377     data/org.kde.Korganizer.Calendar.xml data/org.kde.korganizer.Korganizer.xml
0378     DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}
0379     )
0380 
0381 install(FILES
0382     data/korganizer.knsrc
0383     DESTINATION ${KDE_INSTALL_KNSRCDIR}
0384     )
0385 
0386 install(PROGRAMS
0387     org.kde.korganizer.desktop korganizer-import.desktop korganizer-view.desktop
0388     DESTINATION ${KDE_INSTALL_APPDIR}
0389     )
0390 
0391 install(FILES
0392     org.kde.korganizer.appdata.xml
0393     DESTINATION ${KDE_INSTALL_METAINFODIR}
0394     )
0395 
0396 configure_file(data/org.kde.korganizer.service.in org.kde.korganizer.service)
0397 install(FILES
0398     ${CMAKE_CURRENT_BINARY_DIR}/org.kde.korganizer.service
0399     DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR}
0400     )
0401