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 if (WIN32) 0107 install( FILES applications.menu DESTINATION ${KDE_INSTALL_DATAROOTDIR}/xdg/menus RENAME ${APPLICATIONS_MENU_NAME} ) 0108 else () 0109 install( FILES applications.menu DESTINATION ${KDE_INSTALL_SYSCONFDIR}/xdg/menus RENAME ${APPLICATIONS_MENU_NAME} ) 0110 endif () 0111 0112 # Local copy for the unittests 0113 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/data/menus) 0114 add_custom_command(TARGET KF6Service PRE_BUILD COMMAND 0115 ${CMAKE_COMMAND} -E copy 0116 ${CMAKE_CURRENT_SOURCE_DIR}/applications.menu 0117 ${CMAKE_BINARY_DIR}/bin/data/menus/${APPLICATIONS_MENU_NAME}) 0118 0119 install(TARGETS KF6Service EXPORT KF6ServiceTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0120 0121 install(FILES 0122 "${CMAKE_CURRENT_BINARY_DIR}/kservice_export.h" 0123 ${KService_HEADERS} 0124 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KService COMPONENT Devel 0125 ) 0126 0127 ecm_qt_install_logging_categories( 0128 EXPORT KSERVICE 0129 FILE kservice.categories 0130 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0131 ) 0132 0133 if(BUILD_QCH) 0134 ecm_add_qch( 0135 KF6Service_QCH 0136 NAME KService 0137 BASE_NAME KF6Service 0138 VERSION ${KF_VERSION} 0139 ORG_DOMAIN org.kde 0140 SOURCES # using only public headers, to cover only public API 0141 ${KService_HEADERS} 0142 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0143 LINK_QCHS 0144 KF6Config_QCH 0145 KF6CoreAddons_QCH 0146 INCLUDE_DIRS 0147 ${CMAKE_CURRENT_BINARY_DIR} 0148 ${kservice_includes} 0149 BLANK_MACROS 0150 KSERVICE_EXPORT 0151 KSERVICE_DEPRECATED 0152 KSERVICE_DEPRECATED_EXPORT 0153 "KSERVICE_DEPRECATED_VERSION(x, y, t)" 0154 "KSERVICE_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)" 0155 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0156 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0157 COMPONENT Devel 0158 ) 0159 endif() 0160 0161 add_subdirectory(kbuildsycoca) 0162 0163 include(ECMGeneratePriFile) 0164 ecm_generate_pri_file(BASE_NAME KService LIB_NAME KF6Service DEPS "KConfigCore" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KService) 0165 install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})