Warning, /frameworks/krunner/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: KDE Contributors 0002 # SPDX-License-Identifier: BSD-2-Clause 0003 0004 # TODO: merge QML plugin from Milou into this instead and provide a plugin again officially, 0005 # named "org.kde.krunner" to follow naming pattern for QML plugins from KF modules 0006 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND 0007 EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.0.0) 0008 # deprecated plugin org.kde.runnermodel, no users known 0009 add_subdirectory(declarative) 0010 endif() 0011 0012 configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) 0013 0014 add_library(KF5Runner SHARED) 0015 add_library(KF5::Runner ALIAS KF5Runner) 0016 0017 target_sources(KF5Runner PRIVATE 0018 abstractrunner.cpp 0019 abstractrunner.h 0020 abstractrunner_p.h 0021 abstractrunnertest.h 0022 dbusrunner.cpp 0023 dbusrunner_p.h 0024 dbusutils_p.h 0025 querymatch.cpp 0026 querymatch.h 0027 runnercontext.cpp 0028 runnercontext.h 0029 runnerjobs.cpp 0030 runnerjobs_p.h 0031 runnermanager.cpp 0032 runnermanager.h 0033 runnersyntax.cpp 0034 runnersyntax.h 0035 krunner.qrc 0036 ) 0037 ecm_qt_declare_logging_category(KF5Runner 0038 HEADER krunner_debug.h 0039 IDENTIFIER KRUNNER 0040 CATEGORY_NAME kf.runner 0041 OLD_CATEGORY_NAMES org.kde.krunner 0042 DESCRIPTION "KRunner" 0043 EXPORT KRUNNER 0044 ) 0045 set_property(SOURCE "data/org.kde.krunner1.xml" PROPERTY INCLUDE dbusutils_p.h) 0046 0047 ecm_generate_export_header(KF5Runner 0048 BASE_NAME KRunner 0049 GROUP_BASE_NAME KF 0050 VERSION ${KF_VERSION} 0051 DEPRECATED_BASE_VERSION 0 0052 DEPRECATION_VERSIONS 5.28 5.71 5.72 5.73 5.76 5.77 5.79 5.81 5.82 5.85 5.86 5.88 5.99 5.106 5.113 0053 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0054 ) 0055 0056 set(KRunner_BUILD_INCLUDE_DIRS ${KRunner_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) 0057 target_include_directories(KF5Runner INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KRunner>") 0058 target_include_directories(KF5Runner PUBLIC "$<BUILD_INTERFACE:${KRunner_BUILD_INCLUDE_DIRS}>") 0059 0060 0061 target_link_libraries(KF5Runner 0062 PUBLIC 0063 Qt${QT_MAJOR_VERSION}::Core 0064 KF5::I18n 0065 KF5::CoreAddons # KPluginFactory 0066 PRIVATE 0067 Qt${QT_MAJOR_VERSION}::DBus 0068 Qt${QT_MAJOR_VERSION}::Widgets 0069 KF5::ThreadWeaver 0070 ) 0071 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND 0072 EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.91.0) 0073 target_link_libraries(KF5Runner 0074 PUBLIC 0075 KF5::Service # KPluginInfo 0076 KF5::Plasma # Must be public because abstractrunner.h needs plasma/version.h 0077 PRIVATE 0078 KF5::KIOCore #KProtocolInfo 0079 ) 0080 endif() 0081 if(NOT EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT" AND 0082 EXCLUDE_DEPRECATED_BEFORE_AND_AT VERSION_LESS 5.94.0) 0083 target_link_libraries(KF5Runner PUBLIC Qt${QT_MAJOR_VERSION}::Gui KF5::ConfigCore) 0084 else() 0085 target_link_libraries(KF5Runner PRIVATE Qt${QT_MAJOR_VERSION}::Gui KF5::ConfigCore) 0086 endif() 0087 if(HAVE_KACTIVITIES) 0088 target_link_libraries(KF5Runner PRIVATE KF5::Activities) 0089 endif() 0090 0091 set_target_properties(KF5Runner 0092 PROPERTIES VERSION ${KRUNNER_VERSION} 0093 SOVERSION 5 0094 EXPORT_NAME "Runner" 0095 ) 0096 0097 ecm_generate_headers(KRunner_CamelCase_HEADERS 0098 HEADER_NAMES 0099 AbstractRunner 0100 RunnerContext 0101 RunnerManager 0102 RunnerSyntax 0103 QueryMatch 0104 AbstractRunnerTest 0105 0106 PREFIX KRunner 0107 REQUIRED_HEADERS KRunner_HEADERS 0108 ) 0109 0110 # Install files 0111 0112 install(TARGETS KF5Runner 0113 EXPORT KF5RunnerTargets 0114 ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0115 0116 install(FILES ${KRunner_CamelCase_HEADERS} 0117 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KRunner/KRunner 0118 COMPONENT Devel) 0119 0120 install(FILES 0121 ${CMAKE_CURRENT_BINARY_DIR}/krunner_export.h 0122 ${KRunner_HEADERS} 0123 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KRunner/krunner 0124 COMPONENT Devel) 0125 0126 install(FILES 0127 data/servicetypes/plasma-runner.desktop 0128 DESTINATION ${KDE_INSTALL_KSERVICETYPESDIR}) 0129 0130 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/data/kservicetypes5) 0131 add_custom_command(TARGET KF5Runner PRE_BUILD COMMAND 0132 ${CMAKE_COMMAND} -E copy 0133 ${CMAKE_CURRENT_SOURCE_DIR}/data/servicetypes/plasma-runner.desktop 0134 ${CMAKE_BINARY_DIR}/bin/data/kservicetypes5) 0135 0136 ecm_qt_install_logging_categories( 0137 EXPORT KRUNNER 0138 FILE krunner.categories 0139 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0140 ) 0141 0142 0143 if(BUILD_QCH) 0144 ecm_add_qch( 0145 KF5Runner_QCH 0146 NAME KRunner 0147 BASE_NAME KF5Runner 0148 VERSION ${KF_VERSION} 0149 ORG_DOMAIN org.kde 0150 SOURCES # using only public headers, to cover only public API 0151 ${KRunner_HEADERS} 0152 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0153 LINK_QCHS 0154 Qt5Core_QCH 0155 INCLUDE_DIRS 0156 ${KRunner_BUILD_INCLUDE_DIRS} 0157 BLANK_MACROS 0158 KRUNNER_EXPORT 0159 KRUNNER_DEPRECATED 0160 KRUNNER_DEPRECATED_EXPORT 0161 "KRUNNER_DEPRECATED_VERSION(x, y, t)" 0162 "KRUNNER_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)" 0163 "KRUNNER_ENUMERATOR_DEPRECATED_VERSION(x, y, t)" 0164 PREDEFINED_MACROS 0165 "KSERVICE_BUILD_DEPRECATED_SINCE(x, y)=1" 0166 "PLASMA_ENABLE_DEPRECATED_SINCE(x, y)=1" 0167 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0168 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0169 COMPONENT Devel 0170 ) 0171 endif() 0172 0173 include(ECMGeneratePriFile) 0174 ecm_generate_pri_file(BASE_NAME KRunner LIB_NAME KF5Runner DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF}/KRunner) 0175 install(FILES ${PRI_FILENAME} 0176 DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) 0177 0178 install(FILES 0179 "data/org.kde.krunner1.xml" 0180 DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR} 0181 RENAME kf5_org.kde.krunner1.xml)