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)