Warning, /network/kdeconnect-kde/interfaces/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_definitions(-DTRANSLATION_DOMAIN=\"kdeconnect-interfaces\") 0002 0003 # geninterface generates a Qt class that is an interface to DBus 0004 # source_file can a DBus XML definition or QObject class header that is exposed through DBus 0005 # output_basename is the path and filename that will be generated (.h and .cpp will be appended to this) 0006 # The new targets are appended to the ${interfaces_SRC} variable in the parent scope. 0007 function(geninterface source_file output_basename) 0008 if(${source_file} MATCHES ".*\.xml$") 0009 set(xml_file ${source_file}) 0010 else() 0011 set(xml_file ${CMAKE_CURRENT_BINARY_DIR}/${output_basename}.xml) 0012 qt_generate_dbus_interface(${source_file} ${xml_file}) 0013 endif() 0014 0015 # Fixes "redefinition of 'MediaPlayer2' as different kind of symbol" 0016 set_source_files_properties(${xml_file} PROPERTIES NO_NAMESPACE true) 0017 0018 qt_add_dbus_interface(generated_sources ${xml_file} ${output_basename}) 0019 0020 # Hack to append clazy:skip to generated files 0021 set(fake_file ${output_basename}_replaced) 0022 add_custom_command(OUTPUT ${fake_file} 0023 COMMAND ${CMAKE_COMMAND} -E echo "// clazy:skip" >> ${output_basename}.h 0024 COMMAND ${CMAKE_COMMAND} -E touch ${fake_file} 0025 DEPENDS ${output_basename}.h 0026 ) 0027 0028 set(interfaces_SRC ${interfaces_SRC} ${generated_sources} ${fake_file} PARENT_SCOPE) 0029 endfunction() 0030 0031 set(interfaces_SRC 0032 dbusinterfaces.cpp 0033 devicesmodel.cpp 0034 notificationsmodel.cpp 0035 devicessortproxymodel.cpp 0036 conversationmessage.cpp 0037 remotecommandsmodel.cpp 0038 remotesinksmodel.cpp 0039 devicespluginfilterproxymodel.cpp 0040 pluginmodel.cpp 0041 commandsmodel.cpp 0042 ) 0043 0044 # KDE Connect interfaces 0045 geninterface(${PROJECT_SOURCE_DIR}/core/daemon.h generated/daemoninterface) 0046 geninterface(${PROJECT_SOURCE_DIR}/core/device.h generated/deviceinterface) 0047 geninterface(${PROJECT_SOURCE_DIR}/plugins/battery/batteryplugin.h generated/batteryinterface) 0048 geninterface(${PROJECT_SOURCE_DIR}/plugins/connectivity-report/connectivity_reportplugin.h generated/connectivityinterface) 0049 geninterface(${PROJECT_SOURCE_DIR}/plugins/sftp/sftpplugin.h generated/devicesftpinterface) 0050 geninterface(${PROJECT_SOURCE_DIR}/plugins/notifications/notificationsplugin.h generated/devicenotificationsinterface) 0051 geninterface(${PROJECT_SOURCE_DIR}/plugins/findmyphone/findmyphoneplugin.h generated/devicefindmyphoneinterface) 0052 geninterface(${PROJECT_SOURCE_DIR}/plugins/notifications/notification.h generated/notificationinterface) 0053 geninterface(${PROJECT_SOURCE_DIR}/plugins/mprisremote/mprisremoteplugin.h generated/mprisremoteinterface) 0054 geninterface(${PROJECT_SOURCE_DIR}/plugins/remotecontrol/remotecontrolplugin.h generated/remotecontrolinterface) 0055 geninterface(${PROJECT_SOURCE_DIR}/plugins/lockdevice/lockdeviceplugin.h generated/lockdeviceinterface) 0056 geninterface(${PROJECT_SOURCE_DIR}/plugins/remotecommands/remotecommandsplugin.h generated/remotecommandsinterface) 0057 geninterface(${PROJECT_SOURCE_DIR}/plugins/remotekeyboard/remotekeyboardplugin.h generated/remotekeyboardinterface) 0058 geninterface(${PROJECT_SOURCE_DIR}/plugins/sms/smsplugin.h generated/smsinterface) 0059 geninterface(${PROJECT_SOURCE_DIR}/plugins/sms/conversationsdbusinterface.h generated/conversationsinterface) 0060 geninterface(${PROJECT_SOURCE_DIR}/plugins/share/shareplugin.h generated/shareinterface) 0061 geninterface(${PROJECT_SOURCE_DIR}/plugins/remotesystemvolume/remotesystemvolumeplugin.h generated/remotesystemvolumeinterface) 0062 geninterface(${PROJECT_SOURCE_DIR}/plugins/bigscreen/bigscreenplugin.h generated/bigscreeninterface) 0063 geninterface(${PROJECT_SOURCE_DIR}/plugins/virtualmonitor/virtualmonitorplugin.h generated/virtualmonitorinterface) 0064 geninterface(${PROJECT_SOURCE_DIR}/plugins/clipboard/clipboardplugin.h generated/deviceclipboardinterface) 0065 0066 # System dbus interfaces 0067 if (UNIX AND NOT APPLE) 0068 geninterface(systeminterfaces/org.freedesktop.login1.xml generated/systeminterfaces/login1) 0069 geninterface(systeminterfaces/org.freedesktop.ScreenSaver.xml generated/systeminterfaces/screensaver) 0070 geninterface(systeminterfaces/org.freedesktop.DBus.Properties.xml generated/systeminterfaces/dbusproperties) 0071 geninterface(systeminterfaces/org.mpris.MediaPlayer2.Player.xml generated/systeminterfaces/mprisplayer) 0072 geninterface(systeminterfaces/org.mpris.MediaPlayer2.xml generated/systeminterfaces/mprisroot) 0073 geninterface(systeminterfaces/org.freedesktop.portal.RemoteDesktop.xml generated/systeminterfaces/remotedesktop) 0074 endif() 0075 0076 add_library(kdeconnectinterfaces STATIC) 0077 set_property(TARGET kdeconnectinterfaces PROPERTY POSITION_INDEPENDENT_CODE ON) 0078 0079 target_sources(kdeconnectinterfaces PRIVATE ${interfaces_SRC}) 0080 0081 ecm_qt_declare_logging_category(kdeconnectinterfaces 0082 HEADER interfaces_conversation_message_debug.h 0083 IDENTIFIER CONVERSATION_MESSAGE_LOGGING_CATEGORY CATEGORY_NAME kdeconnect.interfaces.conversationmessage 0084 DEFAULT_SEVERITY Warning 0085 EXPORT kdeconnect-kde DESCRIPTION "kdeconnect (conversation message)") 0086 0087 ecm_qt_declare_logging_category(kdeconnectinterfaces 0088 HEADER interfaces_debug.h 0089 IDENTIFIER KDECONNECT_INTERFACES CATEGORY_NAME kdeconnect.interfaces 0090 DEFAULT_SEVERITY Warning 0091 EXPORT kdeconnect-kde DESCRIPTION "kdeconnect (interfaces)") 0092 0093 0094 set_target_properties(kdeconnectinterfaces PROPERTIES 0095 VERSION ${KDECONNECT_VERSION} 0096 SOVERSION ${KDECONNECT_VERSION_MAJOR} 0097 ) 0098 0099 generate_export_header(kdeconnectinterfaces EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/kdeconnectinterfaces_export.h BASE_NAME KDEConnectInterfaces) 0100 0101 target_link_libraries(kdeconnectinterfaces 0102 LINK_PUBLIC 0103 Qt::Gui 0104 Qt::DBus 0105 KF6::ConfigCore 0106 LINK_PRIVATE 0107 kdeconnectcore 0108 KF6::I18n 0109 kdeconnectcore 0110 KF6::CoreAddons 0111 ) 0112 0113 install(TARGETS kdeconnectinterfaces EXPORT kdeconnectLibraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP)