Warning, /frameworks/kdnssd/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_library(KF6DNSSD)
0002 set_target_properties(KF6DNSSD PROPERTIES
0003 VERSION "${KDNSSD_VERSION}"
0004 SOVERSION "${KDNSSD_SOVERSION}"
0005 EXPORT_NAME DNSSD
0006 )
0007
0008 ecm_create_qm_loader(KF6DNSSD kdnssd6_qt)
0009
0010 target_sources(KF6DNSSD PRIVATE
0011 servicebase.cpp
0012 servicemodel.cpp
0013 domainmodel.cpp
0014 )
0015
0016 if (AVAHI_FOUND)
0017 include_directories( ${AVAHI_INCLUDE_DIR} )
0018 target_sources(KF6DNSSD PRIVATE
0019 avahi-domainbrowser.cpp
0020 avahi-servicebrowser.cpp
0021 avahi-remoteservice.cpp
0022 avahi-publicservice.cpp
0023 avahi-servicetypebrowser.cpp
0024 avahi_server_interface.cpp
0025 avahi_serviceresolver_interface.cpp
0026 avahi_entrygroup_interface.cpp
0027 avahi_listener.cpp
0028 )
0029 set(kdnssd_dbus_LIB_SRCS)
0030 qt_add_dbus_interface(kdnssd_dbus_LIB_SRCS org.freedesktop.Avahi.DomainBrowser.xml avahi_domainbrowser_interface)
0031 qt_add_dbus_interface(kdnssd_dbus_LIB_SRCS org.freedesktop.Avahi.ServiceBrowser.xml avahi_servicebrowser_interface)
0032 qt_add_dbus_interface(kdnssd_dbus_LIB_SRCS org.freedesktop.Avahi.ServiceTypeBrowser.xml avahi_servicetypebrowser_interface)
0033 target_sources(KF6DNSSD PRIVATE ${kdnssd_dbus_LIB_SRCS})
0034 elseif (DNSSD_FOUND)
0035 include_directories( ${DNSSD_INCLUDE_DIR} )
0036 target_sources(KF6DNSSD PRIVATE
0037 mdnsd-domainbrowser.cpp
0038 mdnsd-remoteservice.cpp
0039 mdnsd-publicservice.cpp
0040 mdnsd-responder.cpp
0041 mdnsd-servicebrowser.cpp
0042 mdnsd-servicetypebrowser.cpp
0043 )
0044 else ()
0045 target_sources(KF6DNSSD PRIVATE
0046 dummy-domainbrowser.cpp
0047 dummy-remoteservice.cpp
0048 dummy-publicservice.cpp
0049 dummy-servicebrowser.cpp
0050 dummy-servicetypebrowser.cpp
0051 )
0052
0053 endif ()
0054
0055 ecm_generate_export_header(KF6DNSSD
0056 EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/kdnssd_export.h
0057 BASE_NAME KDNSSD
0058 GROUP_BASE_NAME KF
0059 VERSION ${KF_VERSION}
0060 USE_VERSION_HEADER
0061 DEPRECATED_BASE_VERSION 0
0062 DEPRECATION_VERSIONS
0063 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0064 )
0065
0066 # Apps must include <KDNSSD/File> or <kdnssd/file.h>
0067 target_include_directories(KF6DNSSD INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KDNSSD>")
0068
0069 target_link_libraries(KF6DNSSD PUBLIC Qt6::Network)
0070
0071 if (AVAHI_FOUND OR DNSSD_FOUND)
0072 target_link_libraries(KF6DNSSD PRIVATE Qt6::DBus)
0073 endif ()
0074
0075 if (DNSSD_FOUND)
0076 target_link_libraries(KF6DNSSD PRIVATE ${DNSSD_LIBRARIES})
0077 endif ()
0078
0079 set(KDNSSD_BUILD_INCLUDE_DIRS ${KDNSSD_BINARY_DIR})
0080 target_include_directories(KF6DNSSD PUBLIC "$<BUILD_INTERFACE:${KDNSSD_BUILD_INCLUDE_DIRS}>")
0081
0082 ecm_generate_headers(KDNSSD_CamelCase_HEADERS
0083 HEADER_NAMES
0084 DomainBrowser
0085 RemoteService
0086 ServiceTypeBrowser
0087 PublicService
0088 ServiceBase
0089 ServiceBrowser
0090 ServiceModel
0091 DomainModel
0092
0093 PREFIX KDNSSD
0094 REQUIRED_HEADERS kdnssd_HEADERS
0095 )
0096
0097 install(FILES ${KDNSSD_CamelCase_HEADERS} DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KDNSSD/KDNSSD COMPONENT Devel)
0098
0099 install(TARGETS KF6DNSSD EXPORT KF6DNSSDTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0100
0101 ########### install files ###############
0102 install(FILES
0103 ${CMAKE_CURRENT_BINARY_DIR}/kdnssd_export.h
0104 ${kdnssd_HEADERS}
0105 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KDNSSD/kdnssd COMPONENT Devel
0106 )
0107
0108 if(BUILD_QCH)
0109 ecm_add_qch(
0110 KF6DNSSD_QCH
0111 NAME KDNSSD
0112 BASE_NAME KF6DNSSD
0113 VERSION ${KF_VERSION}
0114 ORG_DOMAIN org.kde
0115 SOURCES # using only public headers, to cover only public API
0116 ${kdnssd_HEADERS}
0117 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0118 LINK_QCHS
0119 Qt6Network_QCH
0120 INCLUDE_DIRS
0121 ${CMAKE_CURRENT_BINARY_DIR}
0122 ${KDNSSD_BUILD_INCLUDE_DIRS}
0123 BLANK_MACROS
0124 KDNSSD_EXPORT
0125 KDNSSD_DEPRECATED
0126 KDNSSD_DEPRECATED_EXPORT
0127 "KDNSSD_DEPRECATED_VERSION(x, y, t)"
0128 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0129 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0130 COMPONENT Devel
0131 )
0132 endif()
0133