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