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()