Warning, /plasma-mobile/plasma-dialer/kde-telephony-daemon/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2021 Alexey Andreyev <aa13q@ya.ru>
0002 #
0003 # SPDX-License-Identifier: LicenseRef-KDE-Accepted-GPL
0004
0005 set(ktelephonyd_SRCS
0006 main.cpp
0007 dialer-utils.cpp
0008 contact-utils.cpp
0009 dialer-manager.cpp
0010 notification-manager.cpp
0011 call-history-database.cpp
0012 call-history-manager.cpp
0013 )
0014
0015 set_source_files_properties(
0016 "${DBUS_INTERFACES_PATH}/org.kde.telephony.DeviceUtils.xml"
0017 "${DBUS_INTERFACES_PATH}/org.kde.telephony.CallUtils.xml"
0018 "${DBUS_INTERFACES_PATH}/org.kde.telephony.CallHistoryDatabase.xml"
0019 PROPERTIES
0020 INCLUDE "kTelephonyMetaTypes/dialer-types.h"
0021 )
0022
0023 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Sql)
0024 find_package(Qt6 OPTIONAL_COMPONENTS Feedback)
0025 find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Config I18n Notifications KIO)
0026
0027 qt_add_dbus_interface(ktelephonyd_SRCS "${DBUS_INTERFACES_PATH}/org.kde.telephony.DeviceUtils.xml"
0028 deviceutilsinterface)
0029
0030 qt_add_dbus_interface(ktelephonyd_SRCS "${DBUS_INTERFACES_PATH}/org.kde.telephony.CallUtils.xml"
0031 callutilsinterface)
0032
0033 qt_add_dbus_interface(ktelephonyd_SRCS "${DBUS_INTERFACES_PATH}/org.kde.telephony.CallHistoryDatabase.xml"
0034 callhistorydatabaseinterface)
0035
0036 qt_add_dbus_adaptor(ktelephonyd_SRCS "${DBUS_INTERFACES_PATH}/org.kde.telephony.ContactUtils.xml"
0037 contact-utils.h ContactUtils)
0038
0039 qt_add_dbus_adaptor(ktelephonyd_SRCS "${DBUS_INTERFACES_PATH}/org.kde.telephony.DialerUtils.xml"
0040 dialer-utils.h DialerUtils)
0041
0042 qt_add_dbus_adaptor(ktelephonyd_SRCS "${DBUS_INTERFACES_PATH}/org.kde.telephony.CallHistoryDatabase.xml"
0043 call-history-database.h CallHistoryDatabase)
0044
0045 add_executable(kde-telephony-daemon
0046 ${ktelephonyd_SRCS}
0047 )
0048
0049 target_include_directories(kde-telephony-daemon PRIVATE ${CMAKE_BINARY_DIR})
0050
0051 qt_add_dbus_interface(mpris_srcs "${DBUS_INTERFACES_PATH}/org.mpris.MediaPlayer2.Player.xml" mprisplayerinterface)
0052 target_sources(kde-telephony-daemon PRIVATE ${mpris_srcs})
0053
0054 find_package(PkgConfig QUIET)
0055 pkg_check_modules(LIBCALLAUDIO libcallaudio-0.1 REQUIRED IMPORTED_TARGET)
0056
0057 # https://build.opensuse.org/package/show/network:telephony/callaudiod#comment-1675259
0058 if("${LIBCALLAUDIO_VERSION}" STREQUAL "0.1.1")
0059 message(ERROR "libcallaudiod version 0.1.1 is not supported")
0060 endif()
0061 if("${LIBCALLAUDIO_VERSION}" STREQUAL "0.1.2")
0062 message(ERROR "libcallaudiod version 0.1.2 is not supported")
0063 endif()
0064 if("${LIBCALLAUDIO_VERSION}" STREQUAL "0.1.3")
0065 message(WARNING "libcallaudiod version 0.1.3 is found, while 0.1.4 is expected." "\n"
0066 "This is a known issue in case of CI build, the workaround is skipping callaudiod logic for the build:" "\n"
0067 "https://build.opensuse.org/package/show/network:telephony/callaudiod#comment-1675259")
0068 target_compile_definitions(kde-telephony-daemon PUBLIC LOWER_LIBCALLAUDIO_VERSION)
0069 endif()
0070
0071
0072 target_link_libraries(kde-telephony-daemon
0073 KF6::ConfigGui
0074 Qt::Core
0075 Qt::DBus
0076 Qt::Sql
0077 KF6::I18n
0078 KF6::KIOGui
0079 KF6::Notifications
0080 PkgConfig::LIBCALLAUDIO
0081 ktelephonymetatypes # FIXME: KF6 cmake files
0082 contactphonenumbermapper
0083 )
0084
0085 if (Qt5Feedback_FOUND)
0086 target_link_libraries(kde-telephony-daemon Qt5::Feedback)
0087 target_compile_definitions(kde-telephony-daemon PUBLIC HAVE_QT5_FEEDBACK)
0088 else()
0089 message(WARNING "Qt Feedback dependency is not found. While it is optional since unmaintained, haptics feedback functionality is not supported without it.")
0090 endif()
0091
0092 configure_file(daemon-autostart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/daemon-autostart.desktop)
0093
0094 set(SERV_EXEC ${KDE_INSTALL_FULL_LIBEXECDIR}/kde-telephony-daemon)
0095 configure_file(org.kde.telephony.service.in ${CMAKE_CURRENT_BINARY_DIR}/org.kde.telephony.service)
0096 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.telephony.service DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR})
0097
0098 kconfig_add_kcfg_files(kde-telephony-daemon ../../plasma-dialer/src/config.kcfgc GENERATE_MOC)
0099 install(TARGETS kde-telephony-daemon DESTINATION ${KDE_INSTALL_FULL_LIBEXECDIR})
0100 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/daemon-autostart.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR} RENAME org.kde.telephony.daemon.desktop)