Warning, /frameworks/kwindowsystem/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 configure_file(config-kwindowsystem.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kwindowsystem.h ) 0002 0003 add_library(KF6WindowSystem) 0004 add_library(KF6::WindowSystem ALIAS KF6WindowSystem) 0005 0006 set_target_properties(KF6WindowSystem PROPERTIES 0007 VERSION ${KWINDOWSYSTEM_VERSION} 0008 SOVERSION ${KWINDOWSYSTEM_SOVERSION} 0009 EXPORT_NAME WindowSystem 0010 ) 0011 0012 ecm_create_qm_loader(KF6WindowSystem kwindowsystem6_qt) 0013 0014 target_sources(KF6WindowSystem PRIVATE 0015 kwindoweffects.cpp 0016 kwindoweffects_dummy.cpp 0017 kwindowshadow.cpp 0018 kwindowsystem.cpp 0019 pluginwrapper.cpp 0020 kwindowsystemplugininterface.cpp 0021 ) 0022 ecm_qt_declare_logging_category(KF6WindowSystem 0023 HEADER kwindowsystem_debug.h 0024 IDENTIFIER LOG_KWINDOWSYSTEM 0025 CATEGORY_NAME kf.windowsystem 0026 OLD_CATEGORY_NAMES org.kde.kwindowsystem 0027 DEFAULT_SEVERITY Warning 0028 DESCRIPTION "KWindowSystem" 0029 EXPORT KWINDOWSYSTEM 0030 ) 0031 0032 if (KWINDOWSYSTEM_X11) 0033 target_include_directories(KF6WindowSystem 0034 PRIVATE 0035 ${CMAKE_CURRENT_SOURCE_DIR}/platforms/xcb 0036 ) 0037 0038 target_link_libraries(KF6WindowSystem 0039 PUBLIC 0040 # public because they are used in kkeyserver_x11.h 0041 X11::X11 0042 PRIVATE 0043 XCB::XCB 0044 XCB::RES 0045 X11::Xfixes 0046 XCB::KEYSYMS 0047 Qt6::GuiPrivate # qtx11extras_p.h 0048 ) 0049 0050 ecm_qt_declare_logging_category(KF6WindowSystem 0051 HEADER kwindowsystem_xcb_debug.h 0052 IDENTIFIER LOG_KKEYSERVER_X11 0053 CATEGORY_NAME kf.windowsystem.keyserver.x11 0054 DEFAULT_SEVERITY Warning 0055 ) 0056 0057 target_sources(KF6WindowSystem PRIVATE 0058 platforms/xcb/kselectionowner.cpp 0059 platforms/xcb/kselectionwatcher.cpp 0060 platforms/xcb/kxmessages.cpp 0061 platforms/xcb/kxutils.cpp 0062 platforms/xcb/netwm.cpp 0063 kkeyserver.cpp 0064 kx11extras.cpp 0065 kstartupinfo.cpp 0066 kusertimestamp.cpp 0067 kxerrorhandler.cpp 0068 kwindowinfo.cpp 0069 ) 0070 0071 # we install kkeyserver_x11.h which needs the X11 headers available 0072 # if we don't add the include path here code that includes kkeyserver.h will fail 0073 # to compile unless X11 is installed in /usr/include 0074 target_include_directories(KF6WindowSystem PUBLIC ${XCB_XCB_INCLUDE_DIR}) 0075 endif () 0076 0077 if (KWINDOWSYSTEM_WAYLAND) 0078 target_sources(KF6WindowSystem PRIVATE kwaylandextras.cpp) 0079 endif() 0080 0081 ecm_generate_export_header(KF6WindowSystem 0082 BASE_NAME KWindowSystem 0083 GROUP_BASE_NAME KF 0084 VERSION ${KF_VERSION} 0085 USE_VERSION_HEADER 0086 DEPRECATED_BASE_VERSION 0 0087 DEPRECATION_VERSIONS 6.0 0088 EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} 0089 ) 0090 0091 target_include_directories(KF6WindowSystem INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF}/KWindowSystem>") 0092 0093 target_link_libraries(KF6WindowSystem 0094 PUBLIC Qt6::Gui 0095 ) 0096 0097 ecm_generate_headers(KWindowSystem_HEADERS 0098 HEADER_NAMES 0099 KWindowEffects 0100 KWindowShadow,KWindowShadowTile 0101 KWindowSystem 0102 0103 REQUIRED_HEADERS KWindowSystem_HEADERS 0104 ) 0105 0106 if (KWINDOWSYSTEM_X11) 0107 ecm_generate_headers(KWindowSystem_HEADERS 0108 HEADER_NAMES 0109 KX11Extras 0110 KStartupInfo 0111 KUserTimestamp 0112 KKeyServer 0113 KWindowInfo 0114 0115 REQUIRED_HEADERS KWindowSystem_HEADERS 0116 ) 0117 endif() 0118 0119 if (KWINDOWSYSTEM_WAYLAND) 0120 ecm_generate_headers(KWindowSystem_HEADERS 0121 HEADER_NAMES 0122 KWaylandExtras 0123 0124 REQUIRED_HEADERS KWindowSystem_HEADERS 0125 ) 0126 endif() 0127 0128 install(TARGETS KF6WindowSystem EXPORT KF6WindowSystemTargets ${KF_INSTALL_TARGETS_DEFAULT_ARGS}) 0129 0130 install(FILES 0131 # FIXME: It seems odd to install this. 0132 ${CMAKE_CURRENT_BINARY_DIR}/config-kwindowsystem.h 0133 ${CMAKE_CURRENT_BINARY_DIR}/kwindowsystem_export.h 0134 ${KWindowSystem_HEADERS} 0135 netwm_def.h 0136 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/KWindowSystem COMPONENT Devel 0137 ) 0138 0139 install( 0140 FILES 0141 kwindoweffects_p.h 0142 kwindowshadow_p.h 0143 kwindowsystem_p.h 0144 kwindowsystemplugininterface_p.h 0145 DESTINATION 0146 ${KDE_INSTALL_INCLUDEDIR_KF}/KWindowSystem/private 0147 COMPONENT 0148 Devel 0149 ) 0150 0151 if(BUILD_QCH) 0152 ecm_add_qch( 0153 KF6WindowSystem_QCH 0154 NAME KWindowSystem 0155 BASE_NAME KF6WindowSystem 0156 VERSION ${KF_VERSION} 0157 ORG_DOMAIN org.kde 0158 SOURCE_DIRS 0159 # using dir for now, to cover any platform dependent code 0160 # TODO: should only use public headers, to cover only public API 0161 ${CMAKE_CURRENT_SOURCE_DIR} 0162 MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" 0163 LINK_QCHS 0164 Qt6Gui_QCH 0165 INCLUDE_DIRS 0166 ${CMAKE_CURRENT_BINARY_DIR} 0167 BLANK_MACROS 0168 KWINDOWSYSTEM_EXPORT 0169 KWINDOWSYSTEM_DEPRECATED 0170 KWINDOWSYSTEM_DEPRECATED_EXPORT 0171 "KWINDOWSYSTEM_DEPRECATED_VERSION(x, y, t)" 0172 "KWINDOWSYSTEM_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)" 0173 "KWINDOWSYSTEM_ENUMERATOR_DEPRECATED_VERSION(x, y, t)" 0174 "KWINDOWSYSTEM_ENUMERATOR_DEPRECATED_VERSION_BELATED(x, y, xt, yt, t)" 0175 TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0176 QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} 0177 COMPONENT Devel 0178 ) 0179 endif() 0180 0181 add_subdirectory(platforms) 0182 0183 if(KWINDOWSYSTEM_QML) 0184 add_subdirectory(qml) 0185 endif() 0186 0187 ecm_qt_install_logging_categories( 0188 EXPORT KWINDOWSYSTEM 0189 FILE kwindowsystem.categories 0190 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0191 ) 0192