# SPDX-FileCopyrightText: 2021 Claudio Cambra <claudio.cambra@gmail.com>
#
# SPDX-License-Identifier: BSD-2-Clause

add_executable(kalendarac)
add_definitions(-DTRANSLATION_DOMAIN=\"kalendarac\")

qt_add_dbus_interface(kalendarac_SRCS org.kde.calendar.Calendar.xml calendarinterface)

target_sources(
    kalendarac
    PRIVATE
        kalendaralarmclient.cpp
        alarmnotification.cpp
        kalendaralarmclient.h
        alarmnotification.h
        kalendaracmain.cpp
        suspenddialog.h
        suspenddialog.cpp
        ${kalendarac_SRCS}
)

target_include_directories(kalendarac PRIVATE ${CMAKE_BINARY_DIR})
target_link_libraries(
    kalendarac
    KF6::CoreAddons
    KF6::ConfigCore
    KF6::CalendarCore
    KF6::DBusAddons
    KPim6::AkonadiCore
    KPim6::AkonadiCalendar
    KPim6::IdentityManagementCore
    KF6::KIOGui
    KF6::I18n
    KF6::Notifications
    KF6::Crash
    Qt::Core
    Qt::DBus
)

ecm_qt_declare_logging_category(kalendarac
    HEADER logging.h
    IDENTIFIER REMINDER_DAEMON_LOG
    CATEGORY_NAME org.kde.kalendarac
    DESCRIPTION "Reminder daemon"
    EXPORT REMINDER_DAEMON
)

if(COMPILE_WITH_UNITY_CMAKE_SUPPORT)
    set_target_properties(
        kalendarac
        PROPERTIES
            UNITY_BUILD
                ON
    )
endif()

install(
    TARGETS
        kalendarac
        ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}
)

install(FILES org.kde.kalendarac.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR})

install(FILES kalendarac.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})

set(SERV_EXEC ${KDE_INSTALL_FULL_BINDIR}/kalendarac)
configure_file(org.kde.kalendarac.service.in ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kalendarac.service)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.kalendarac.service DESTINATION ${KDE_INSTALL_FULL_DBUSSERVICEDIR})
ecm_qt_install_logging_categories(
    EXPORT REMINDER_DAEMON
    FILE org_kde_kalendarac.categories
    DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
)

if(BUILD_TESTING)
    add_subdirectory(tests)
endif()
