mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-23 18:32:51 +00:00
337 lines
7.6 KiB
CMake
337 lines
7.6 KiB
CMake
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()
|