Index: CMakeLists.txt =================================================================== --- CMakeLists.txt +++ CMakeLists.txt @@ -25,6 +25,12 @@ option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") +# TODO KF6: remove +option(KWINDOWSYSTEM_NO_WIDGETS "Disable deprecated API including QWidget usage, so that KWindowSystem does not link to QtWidgets. Warning: this is binary and source incompatible.") +if (KWINDOWSYSTEM_NO_WIDGETS) + add_compile_definitions(KWINDOWSYSTEM_NO_DEPRECATED) +endif() + ecm_setup_version(PROJECT VARIABLE_PREFIX KWINDOWSYSTEM VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kwindowsystem_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5WindowSystemConfigVersion.cmake" Index: src/CMakeLists.txt =================================================================== --- src/CMakeLists.txt +++ src/CMakeLists.txt @@ -75,9 +75,12 @@ target_include_directories(KF5WindowSystem INTERFACE "$") target_link_libraries(KF5WindowSystem - PUBLIC Qt5::Widgets + PUBLIC Qt5::Gui PRIVATE ${platformLinkLibraries} ) +if(NOT KWINDOWSYSTEM_NO_WIDGETS) + target_link_libraries(KF5WindowSystem PUBLIC Qt5::Widgets) +endif() if(KWINDOWSYSTEM_HAVE_X11) # we install kkeyserver_x11.h which needs the X11 headers available @@ -139,7 +142,7 @@ ${CMAKE_CURRENT_SOURCE_DIR} MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" LINK_QCHS - Qt5Widgets_QCH + Qt5Gui_QCH BLANK_MACROS KWINDOWSYSTEM_EXPORT KWINDOWSYSTEM_DEPRECATED