Warning, /frameworks/kservice/src/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 include(CheckSymbolExists)
0002 include(CheckFunctionExists)
0003 check_function_exists(mmap HAVE_MMAP)
0004 check_symbol_exists(posix_madvise "sys/mman.h" HAVE_MADVISE)
0005 configure_file(config-ksycoca.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ksycoca.h )
0006 
0007 add_library(KF6Service)
0008 add_library(KF6::Service ALIAS KF6Service)
0009 
0010 set_target_properties(KF6Service PROPERTIES
0011     VERSION     ${KSERVICE_VERSION}
0012     SOVERSION   ${KSERVICE_SOVERSION}
0013     EXPORT_NAME Service
0014 )
0015 
0016 target_sources(KF6Service PRIVATE
0017    services/kapplicationtrader.cpp
0018    services/kmimetypefactory.cpp
0019    services/kservice.cpp
0020    services/kserviceaction.cpp
0021    services/kservicefactory.cpp
0022    services/kservicegroup.cpp
0023    services/kservicegroupfactory.cpp
0024    services/kserviceoffer.cpp
0025    sycoca/ksycoca.cpp
0026    sycoca/ksycocadevices.cpp
0027    sycoca/ksycocadict.cpp
0028    sycoca/ksycocaentry.cpp
0029    sycoca/ksycocafactory.cpp
0030    sycoca/kmemfile.cpp
0031    sycoca/kbuildmimetypefactory.cpp
0032    sycoca/kbuildservicefactory.cpp
0033    sycoca/kbuildservicegroupfactory.cpp
0034    sycoca/kbuildsycoca.cpp
0035    sycoca/kctimefactory.cpp
0036    sycoca/kmimeassociations.cpp
0037    sycoca/vfolder_menu.cpp
0038 )
0039 
0040 ecm_qt_declare_logging_category(KF6Service
0041     HEADER servicesdebug.h
0042     IDENTIFIER SERVICES
0043     CATEGORY_NAME kf.service.services
0044     OLD_CATEGORY_NAMES kf5.kservice.services
0045     EXPORT KSERVICE
0046     DESCRIPTION "service (kservice lib)"
0047 )
0048 ecm_qt_declare_logging_category(KF6Service
0049     HEADER sycocadebug.h
0050     IDENTIFIER SYCOCA
0051     CATEGORY_NAME kf.service.sycoca
0052     OLD_CATEGORY_NAMES kf5.kservice.sycoca
0053     EXPORT KSERVICE
0054     DESCRIPTION "sycoca (kservice)"
0055 )
0056 
0057 ecm_generate_export_header(KF6Service
0058     BASE_NAME KService
0059     GROUP_BASE_NAME KF
0060     VERSION ${KF_VERSION}
0061     USE_VERSION_HEADER
0062     DEPRECATED_BASE_VERSION 0
0063     DEPRECATION_VERSIONS 5.90
0064     EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT}
0065 )
0066 
0067 set(kservice_includes
0068    ${CMAKE_CURRENT_BINARY_DIR}/.. # Since we publicly include kservice_version.h
0069    ${CMAKE_CURRENT_SOURCE_DIR}/services
0070    ${CMAKE_CURRENT_SOURCE_DIR}/sycoca
0071 )
0072 target_include_directories(KF6Service
0073     PUBLIC
0074         "$<BUILD_INTERFACE:${kservice_includes}>"
0075     INTERFACE
0076         "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KService>"
0077 )
0078 
0079 target_link_libraries(KF6Service
0080 PUBLIC
0081     Qt6::Core
0082 PRIVATE
0083     Qt6::Xml  # (for vfolder menu) QDomDocument
0084     KF6::ConfigCore   # KConfig and friends
0085     KF6::CoreAddons   # KShell
0086 )
0087 
0088 ecm_generate_headers(KService_HEADERS
0089   HEADER_NAMES
0090   KSycoca
0091   KSycocaEntry
0092   KSycocaType
0093 
0094   RELATIVE sycoca REQUIRED_HEADERS KService_HEADERS
0095 )
0096 ecm_generate_headers(KService_HEADERS
0097   HEADER_NAMES
0098   KApplicationTrader
0099   KService
0100   KServiceAction
0101   KServiceGroup
0102 
0103   RELATIVE services REQUIRED_HEADERS KService_HEADERS
0104 )
0105 
0106 install(TARGETS KF6Service EXPORT KF6ServiceTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
0107 
0108 install(FILES
0109    "${CMAKE_CURRENT_BINARY_DIR}/kservice_export.h"
0110    ${KService_HEADERS}
0111    ${CMAKE_CURRENT_SOURCE_DIR}/services/kserviceconversioncheck_p.h # helper header included by kservice.h
0112    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KService COMPONENT Devel
0113 )
0114 
0115 ecm_qt_install_logging_categories(
0116     EXPORT KSERVICE
0117     FILE kservice.categories
0118     DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}
0119 )
0120 
0121 if(BUILD_QCH)
0122     ecm_add_qch(
0123         KF6Service_QCH
0124         NAME KService
0125         BASE_NAME KF6Service
0126         VERSION ${KF_VERSION}
0127         ORG_DOMAIN org.kde
0128         SOURCES # using only public headers, to cover only public API
0129             ${KService_HEADERS}
0130         MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md"
0131         LINK_QCHS
0132             KF6Config_QCH
0133             KF6CoreAddons_QCH
0134         INCLUDE_DIRS
0135             ${CMAKE_CURRENT_BINARY_DIR}
0136             ${kservice_includes}
0137         BLANK_MACROS
0138             KSERVICE_EXPORT
0139             KSERVICE_DEPRECATED
0140             KSERVICE_DEPRECATED_EXPORT
0141             "KSERVICE_DEPRECATED_VERSION(x, y, t)"
0142             "KSERVICE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)"
0143         TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0144         QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR}
0145         COMPONENT Devel
0146     )
0147 endif()
0148 
0149 add_subdirectory(kbuildsycoca)
0150