project(korganizer) add_definitions(-DKDE_DEFAULT_DEBUG_AREA=5850) add_definitions( -DQT_NO_CAST_FROM_ASCII ) add_definitions( -DQT_NO_CAST_TO_ASCII ) # enable exception handling set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/interfaces ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/calendarsupport ${CMAKE_BINARY_DIR}/calendarsupport ${CMAKE_SOURCE_DIR}/libkdepimdbusinterfaces ${CMAKE_BINARY_DIR}/libkdepimdbusinterfaces ${CMAKE_SOURCE_DIR}/incidenceeditor-ng ${CMAKE_SOURCE_DIR}/calendarviews ${CMAKE_SOURCE_DIR}/pimcommon/ ${CMAKE_SOURCE_DIR}/libkdepim ${AKONADI_INCLUDE_DIR} ${Boost_INCLUDE_DIRS} ${QT_INCLUDES} ${ZLIB_INCLUDE_DIRS} ) if(ENABLE_TESTING) add_subdirectory(tests) endif() add_subdirectory(interfaces) if(KDEPIM_BUILD_DESKTOP) add_subdirectory(pixmaps) add_subdirectory(sounds) add_subdirectory(plugins) add_subdirectory(kcmconfigs) endif() set(PERL ${PERL_EXECUTABLE}) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/ical2vcal.cmake ${CMAKE_CURRENT_BINARY_DIR}/ical2vcal @ONLY ) ########### next target ############### if(KDEPIM_BUILD_DESKTOP) set(korganizer_SRCS main.cpp korganizer.cpp koapp.cpp ) add_executable(korganizer ${korganizer_SRCS}) target_link_libraries(korganizer ${KDE4_KDEUI_LIBS} ${KDE4_KPARTS_LIBRARY} ${KDEPIMLIBS_KHOLIDAYS_LIBS} ${KDEPIMLIBS_KONTACTINTERFACE_LIBS} ${KDEPIMLIBS_AKONADI_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} kdepim kdepimdbusinterfaces korganizerprivate korganizer_interfaces korganizer_core calendarsupport akonadi-calendar ) install(TARGETS korganizer ${INSTALL_TARGETS_DEFAULT_ARGS} ) ########### next target ############### set(kcm_korganizer_PART_SRCS kcmdesignerfields.cpp koprefsdialog.cpp kitemiconcheckcombo.cpp ) kde4_add_plugin(kcm_korganizer ${kcm_korganizer_PART_SRCS}) target_link_libraries(kcm_korganizer akonadi-calendar calendarsupport eventviews incidenceeditorsng kdepim korganizer_core korganizerprivate pimcommon ${KDEPIMLIBS_AKONADI_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDEPIMLIBS_KHOLIDAYS_LIBS} ${KDEPIMLIBS_MAILTRANSPORT_LIBS} ${KDE4_KDEUI_LIBS} ${QT_QTUITOOLS_LIBRARY} ) install(TARGETS kcm_korganizer DESTINATION ${PLUGIN_INSTALL_DIR} ) ########### next target ############### set(korganizerpart_PART_SRCS korganizer_part.cpp) kde4_add_plugin(korganizerpart ${korganizerpart_PART_SRCS}) target_link_libraries(korganizerpart calendarsupport korganizer_core korganizer_interfaces korganizerprivate ${KDEPIMLIBS_AKONADI_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDE4_KDECORE_LIBS} ${KDE4_KPARTS_LIBS} ) install(TARGETS korganizerpart DESTINATION ${PLUGIN_INSTALL_DIR} ) endif() ########### next target ############### set(korganizer_core_LIB_SRCS koprefs.cpp kocore.cpp ) kde4_add_kcfg_files(korganizer_core_LIB_SRCS koprefs_base.kcfgc) add_library(korganizer_core ${LIBRARY_TYPE} ${korganizer_core_LIB_SRCS}) target_link_libraries(korganizer_core calendarsupport eventviews incidenceeditorsng kdepim korganizer_interfaces ${KDEPIMLIBS_AKONADI_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDEPIMLIBS_KMIME_LIBS} ${KDEPIMLIBS_KPIMIDENTITIES_LIBS} ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ) set_target_properties(korganizer_core PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) install(TARGETS korganizer_core ${INSTALL_TARGETS_DEFAULT_ARGS} ) ########### next target ############### if(KDEPIM_BUILD_DESKTOP) set(korganizerprivate_LIB_SRCS aboutdata.cpp actionmanager.cpp akonadicollectionview.cpp calendarview.cpp datechecker.cpp datenavigator.cpp datenavigatorcontainer.cpp docprefs.cpp exportwebdialog.cpp filtereditdialog.cpp htmlexportjob.cpp kdatenavigator.cpp kocheckableproxymodel.cpp kocorehelper.cpp kodaymatrix.cpp kodialogmanager.cpp koeventpopupmenu.cpp koeventview.cpp koeventviewerdialog.cpp koglobals.cpp kohelper.cpp korganizerifaceimpl.cpp koviewmanager.cpp kowindowlist.cpp navigatorbar.cpp previewdialog.cpp publishdialog.cpp searchdialog.cpp statusdialog.cpp views/agendaview/koagendaview.cpp views/journalview/kojournalview.cpp views/listview/kolistview.cpp views/monthview/monthview.cpp views/multiagendaview/multiagendaview.cpp views/timelineview/kotimelineview.cpp views/timespentview/kotimespentview.cpp views/todoview/kotodoview.cpp views/whatsnextview/kowhatsnextview.cpp ) kde4_add_kcfg_files(korganizerprivate_LIB_SRCS htmlexportsettings.kcfgc) qt4_add_resources(korganizerprivate_LIB_SRCS agendaitem_pixmaps/agendaitemtheme.qrc) qt4_add_dbus_adaptor(korganizerprivate_LIB_SRCS org.kde.korganizer.Korganizer.xml korganizerifaceimpl.h KOrganizerIfaceImpl ) qt4_add_dbus_adaptor(korganizerprivate_LIB_SRCS org.kde.Korganizer.Calendar.xml actionmanager.h ActionManager calendaradaptor KOrgCalendarAdaptor ) qt4_add_dbus_interfaces(korganizerprivate_LIB_SRCS org.kde.korganizer.Korganizer.xml ) qt4_add_dbus_interfaces(korganizerprivate_LIB_SRCS ${CMAKE_SOURCE_DIR}/korgac/org.kde.korganizer.KOrgac.xml ) qt4_add_dbus_interfaces(korganizerprivate_LIB_SRCS ${CMAKE_SOURCE_DIR}/korganizer/org.kde.korganizer.Korganizer.xml ) add_library(korganizerprivate ${LIBRARY_TYPE} ${korganizerprivate_LIB_SRCS}) target_link_libraries(korganizerprivate pimcommon akonadi_next akonadi-calendar calendarsupport eventviews incidenceeditorsng kdepim kdepimdbusinterfaces kdgantt2 korganizer_core korganizer_interfaces ${KDEPIMLIBS_AKONADI_CALENDAR_LIBS} ${KDEPIMLIBS_AKONADI_LIBS} ${KDEPIMLIBS_KABC_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDEPIMLIBS_KHOLIDAYS_LIBS} ${KDEPIMLIBS_KMIME_LIBS} ${KDEPIMLIBS_KPIMIDENTITIES_LIBS} ${KDEPIMLIBS_MAILTRANSPORT_LIBS} ${KDE4_KCMUTILS_LIBS} ${KDE4_KNEWSTUFF3_LIBS} ${KDE4_KPRINTUTILS_LIBS} ${ZLIB_LIBRARIES} ) set_target_properties(korganizerprivate PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} ) install(TARGETS korganizerprivate ${INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP ) ########### install files ############### install(FILES korganizer.kcfg DESTINATION ${KCFG_INSTALL_DIR} ) install(FILES korganizer_part.rc DESTINATION ${DATA_INSTALL_DIR}/korganizer ) install(FILES dbuscalendar.desktop DESTINATION ${SERVICETYPES_INSTALL_DIR} ) install(FILES tips DESTINATION ${DATA_INSTALL_DIR}/korganizer ) install(FILES korganizer_part.desktop webcal.protocol DESTINATION ${SERVICES_INSTALL_DIR} ) install(FILES korganizerui.rc DESTINATION ${DATA_INSTALL_DIR}/korganizer ) install(FILES korganizer.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR} ) install(FILES org.kde.Korganizer.Calendar.xml org.kde.korganizer.Korganizer.xml DESTINATION ${DBUS_INTERFACES_INSTALL_DIR} ) install(FILES korganizer.knsrc DESTINATION ${CONFIG_INSTALL_DIR} ) install(PROGRAMS korganizer.desktop korganizer-import.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/ical2vcal DESTINATION ${BIN_INSTALL_DIR} ) endif()