Warning, /frameworks/kguiaddons/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) 0002 0003 add_library(KF6GuiAddons) 0004 add_library(KF6::GuiAddons ALIAS KF6GuiAddons) 0005 0006 set_target_properties(KF6GuiAddons PROPERTIES 0007 VERSION ${KGUIADDONS_VERSION} 0008 SOVERSION ${KGUIADDONS_SOVERSION} 0009 EXPORT_NAME GuiAddons 0010 ) 0011 0012 target_sources(KF6GuiAddons PRIVATE 0013 colors/kcolorspaces.cpp 0014 colors/kcolorutils.cpp 0015 colors/kcolorcollection.cpp 0016 colors/kcolormimedata.cpp 0017 colors/kcolorschemewatcher.cpp 0018 colors/kcolorschemewatcherbackend.cpp 0019 colors/kcolorschemewatcher_qt.cpp 0020 text/kdatevalidator.cpp 0021 text/kwordwrap.cpp 0022 fonts/kfontutils.cpp 0023 util/kiconutils.cpp 0024 util/klocalimagecacheimpl.cpp 0025 util/kmodifierkeyinfo.cpp 0026 util/kmodifierkeyinfoprovider.cpp 0027 util/kurlhandler_p.cpp 0028 util/kcursorsaver.cpp 0029 util/kcountryflagemojiiconengine.cpp 0030 util/kjobwindows.cpp 0031 recorder/keyboardgrabber.cpp 0032 recorder/kkeysequencerecorder.cpp 0033 systemclipboard/qtclipboard.cpp 0034 systemclipboard/ksystemclipboard.cpp 0035 0036 colors/kcolorspaces_p.h 0037 colors/kcolorutils.h 0038 colors/kcolorcollection.h 0039 colors/kcolormimedata.h 0040 text/kdatevalidator.h 0041 text/kwordwrap.h 0042 fonts/kfontutils.h 0043 util/kiconutils.h 0044 util/klocalimagecacheimpl.h 0045 util/kmodifierkeyinfo.h 0046 util/kmodifierkeyinfoprovider_p.h 0047 util/kurlhandler_p.h 0048 util/kcursorsaver.h 0049 util/kcountryflagemojiiconengine.h 0050 util/kjobwindows.h 0051 recorder/keyboardgrabber_p.h 0052 recorder/kkeysequencerecorder.h 0053 systemclipboard/qtclipboard_p.h 0054 systemclipboard/ksystemclipboard.h 0055 ) 0056 0057 ecm_qt_declare_logging_category(KF6GuiAddons 0058 HEADER kguiaddons_debug.h 0059 IDENTIFIER KGUIADDONS_LOG 0060 CATEGORY_NAME kf.guiaddons 0061 DESCRIPTION "KGuiAddons" 0062 EXPORT KGUIADDONS 0063 ) 0064 0065 if(WIN32) 0066 target_sources(KF6GuiAddons PRIVATE colors/kcolorschemewatcher_win.cpp) 0067 target_link_libraries(KF6GuiAddons PRIVATE advapi32) 0068 endif() 0069 0070 if(APPLE) 0071 find_library(APPKIT_LIBRARY AppKit) 0072 target_sources(KF6GuiAddons PRIVATE colors/kcolorschemewatcher_mac.mm) 0073 target_link_libraries(KF6GuiAddons PRIVATE ${APPKIT_LIBRARY}) 0074 endif() 0075 0076 if(WITH_DBUS) 0077 target_sources(KF6GuiAddons PRIVATE colors/kcolorschemewatcher_xdg.cpp) 0078 target_link_libraries(KF6GuiAddons PRIVATE Qt6::DBus) 0079 endif() 0080 0081 if(WITH_WAYLAND) 0082 qt_generate_wayland_protocol_client_sources(KF6GuiAddons 0083 FILES 0084 "${CMAKE_CURRENT_SOURCE_DIR}/recorder/keyboard-shortcuts-inhibit-unstable-v1.xml" 0085 "${CMAKE_CURRENT_SOURCE_DIR}/systemclipboard/wlr-data-control-unstable-v1.xml" 0086 "${PLASMA_WAYLAND_PROTOCOLS_DIR}/keystate.xml" 0087 "${Wayland_DATADIR}/wayland.xml" 0088 ) 0089 target_sources(KF6GuiAddons PRIVATE 0090 recorder/waylandinhibition.cpp 0091 systemclipboard/waylandclipboard.cpp 0092 util/kmodifierkeyinfoprovider_wayland.cpp 0093 recorder/waylandinhibition_p.h 0094 systemclipboard/waylandclipboard_p.h 0095 util/kmodifierkeyinfoprovider_wayland.h 0096 ) 0097 target_compile_definitions(KF6GuiAddons PRIVATE WITH_WAYLAND) 0098 target_link_libraries(KF6GuiAddons PRIVATE Qt6::GuiPrivate Qt6::WaylandClient Wayland::Client) 0099 endif() 0100 0101 if(WITH_X11) 0102 target_sources(KF6GuiAddons PRIVATE util/kmodifierkeyinfoprovider_xcb.cpp util/kmodifierkeyinfoprovider_xcb.h) 0103 target_link_libraries(KF6GuiAddons PRIVATE X11::Xkb XCB::XCB) 0104 endif() 0105 0106 ecm_generate_export_header(KF6GuiAddons 0107 BASE_NAME KGuiAddons 0108 GROUP_BASE_NAME KF 0109 VERSION ${KF_VERSION} 0110 USE_VERSION_HEADER 0111 DEPRECATED_BASE_VERSION 0 0112 ) 0113 0114 set(kguiaddons_INCLUDES 0115 ${CMAKE_CURRENT_SOURCE_DIR}/colors 0116 ${CMAKE_CURRENT_SOURCE_DIR}/fonts 0117 ${CMAKE_CURRENT_SOURCE_DIR}/text 0118 ${CMAKE_CURRENT_SOURCE_DIR}/util 0119 ${CMAKE_CURRENT_SOURCE_DIR}/recorder 0120 ${CMAKE_CURRENT_SOURCE_DIR}/systemclipboard 0121 ) 0122 target_include_directories(KF6GuiAddons PUBLIC "$<BUILD_INTERFACE:${kguiaddons_INCLUDES}>") 0123 target_include_directories(KF6GuiAddons INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KGuiAddons>" ) 0124 target_compile_definitions(KF6GuiAddons INTERFACE "$<INSTALL_INTERFACE:KGUIADDONS_LIB>") 0125 target_link_libraries(KF6GuiAddons PUBLIC Qt6::Gui) 0126 0127 ecm_generate_headers(KGuiAddons_HEADERS 0128 HEADER_NAMES 0129 KColorUtils 0130 KColorCollection 0131 KColorMimeData 0132 KColorSchemeWatcher 0133 0134 RELATIVE colors 0135 REQUIRED_HEADERS KGuiAddons_HEADERS 0136 ) 0137 ecm_generate_headers(KGuiAddons_HEADERS 0138 HEADER_NAMES 0139 KDateValidator 0140 KWordWrap 0141 0142 RELATIVE text 0143 REQUIRED_HEADERS KGuiAddons_HEADERS 0144 ) 0145 ecm_generate_headers(KGuiAddons_HEADERS 0146 HEADER_NAMES 0147 KFontUtils 0148 0149 RELATIVE fonts 0150 REQUIRED_HEADERS KGuiAddons_HEADERS 0151 ) 0152 ecm_generate_headers(KGuiAddons_HEADERS 0153 HEADER_NAMES 0154 KIconUtils 0155 KImageCache 0156 KModifierKeyInfo 0157 KCursorSaver 0158 KCountryFlagEmojiIconEngine 0159 KJobWindows 0160 0161 RELATIVE util 0162 REQUIRED_HEADERS KGuiAddons_HEADERS 0163 ) 0164 0165 ecm_generate_headers(KGuiAddons_HEADERS 0166 HEADER_NAMES 0167 KKeySequenceRecorder 0168 0169 RELATIVE recorder 0170 REQUIRED_HEADERS KGuiAddons_HEADERS 0171 ) 0172 0173 #add_subdirectory(systemclipboard) 0174 0175 ecm_generate_headers(KGuiAddons_HEADERS 0176 HEADER_NAMES 0177 KSystemClipboard 0178 0179 RELATIVE systemclipboard 0180 REQUIRED_HEADERS KGuiAddons_HEADERS 0181 ) 0182 0183 install(TARGETS KF6GuiAddons EXPORT KF6GuiAddonsTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0184 install(FILES 0185 ${CMAKE_CURRENT_BINARY_DIR}/kguiaddons_export.h 0186 util/kmodifierkeyinfoprovider_p.h 0187 util/klocalimagecacheimpl.h # implementation detail, no forwarding header 0188 ${KGuiAddons_HEADERS} 0189 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KGuiAddons COMPONENT Devel 0190 ) 0191 0192 if(BUILD_QCH) 0193 ecm_add_qch( 0194 KF6GuiAddons_QCH 0195 NAME KGuiAddons 0196 BASE_NAME KF6GuiAddons 0197 VERSION ${KF_VERSION} 0198 ORG_DOMAIN org.kde 0199 SOURCES # using only public headers, to cover only public API 0200 ${KGuiAddons_HEADERS} 0201 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0202 LINK_QCHS 0203 Qt6Gui_QCH 0204 INCLUDE_DIRS 0205 ${CMAKE_CURRENT_BINARY_DIR} 0206 ${kguiaddons_INCLUDES} 0207 BLANK_MACROS 0208 KGUIADDONS_EXPORT 0209 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0210 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0211 COMPONENT Devel 0212 ) 0213 endif() 0214 0215 ecm_qt_install_logging_categories( 0216 EXPORT KGUIADDONS 0217 FILE kguiaddons.categories 0218 DESTINATION "${KDE_INSTALL_LOGGINGCATEGORIESDIR}" 0219 ) 0220 0221 if(BUILD_TESTING) 0222 add_executable(pasteclient systemclipboard/tests/paste.cpp) 0223 0224 target_link_libraries(pasteclient 0225 KF6GuiAddons 0226 ) 0227 endif() 0228 0229 if (NOT ANDROID AND BUILD_GEO_SCHEME_HANDLER) 0230 add_subdirectory(geo-scheme-handler) 0231 endif()