diff --git a/CMakeLists.txt b/CMakeLists.txt index 165a203136..45b6039373 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,9 +61,6 @@ endif() if (BUILD_TESTING) find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS WaylandClient) find_package(KPipeWire) - if (Qt6WaylandClient_VERSION VERSION_LESS "6.4.1") # TODO Plasma 6: Drop once minimum Qt version is 6.4.1+ - include(Qt6WaylandClientMacrosKde) - endif() endif() # required frameworks by Core diff --git a/cmake/modules/Qt6WaylandClientMacrosKde.cmake b/cmake/modules/Qt6WaylandClientMacrosKde.cmake deleted file mode 100644 index ea0ac323f8..0000000000 --- a/cmake/modules/Qt6WaylandClientMacrosKde.cmake +++ /dev/null @@ -1,101 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: BSD-3-Clause - -function(qt6_generate_wayland_protocol_client_sources target) - cmake_parse_arguments(arg "NO_INCLUDE_CORE_ONLY" "__QT_INTERNAL_WAYLAND_INCLUDE_DIR" "FILES" ${ARGN}) - if(DEFINED arg_UNPARSED_ARGUMENTS) - message(FATAL_ERROR "Unknown arguments were passed to qt6_generate_wayland_protocol_client_sources: (${arg_UNPARSED_ARGUMENTS}).") - endif() - - get_target_property(target_binary_dir ${target} BINARY_DIR) - - if(NOT TARGET Wayland::Scanner) - message(FATAL_ERROR "Wayland::Scanner target not found. You might be missing the WaylandScanner CMake package.") - endif() - - if(NOT TARGET Qt6::qtwaylandscanner) - message(FATAL_ERROR "qtwaylandscanner executable not found. Most likely there is an issue with your Qt installation.") - endif() - - string(TOUPPER "${target}" module_define_infix) - string(REPLACE "-" "_" module_define_infix "${module_define_infix}") - string(REPLACE "." "_" module_define_infix "${module_define_infix}") - set(build_macro "QT_BUILD_${module_define_infix}_LIB") - - foreach(protocol_file IN LISTS arg_FILES) - get_filename_component(protocol_name "${protocol_file}" NAME_WLE) - - set(waylandscanner_header_output "${target_binary_dir}/wayland-${protocol_name}-client-protocol.h") - set(waylandscanner_code_output "${target_binary_dir}/wayland-${protocol_name}-protocol.c") - # TODO: Maybe add "client" prefix or suffix to these in Qt6? - set(qtwaylandscanner_header_output "${target_binary_dir}/qwayland-${protocol_name}.h") - set(qtwaylandscanner_code_output "${target_binary_dir}/qwayland-${protocol_name}.cpp") - - if (NOT arg_NO_INCLUDE_CORE_ONLY) - set(waylandscanner_extra_args "--include-core-only") - endif() - add_custom_command( - OUTPUT "${waylandscanner_header_output}" - #TODO: Maybe put the files in ${CMAKE_CURRENT_BINARY_DIR/wayland_generated instead? - COMMAND Wayland::Scanner --strict ${waylandscanner_extra_args} client-header < "${protocol_file}" > "${waylandscanner_header_output}" - ) - - add_custom_command( - OUTPUT "${waylandscanner_code_output}" - COMMAND Wayland::Scanner --strict ${waylandscanner_extra_args} public-code < "${protocol_file}" > "${waylandscanner_code_output}" - ) - - set(wayland_include_dir "") - if(arg___QT_INTERNAL_WAYLAND_INCLUDE_DIR) - set(wayland_include_dir "${arg___QT_INTERNAL_WAYLAND_INCLUDE_DIR}") - else() - get_target_property(qt_module ${target} _qt_module_interface_name) - get_target_property(is_for_module "${target}" _qt_module_has_headers) - if (qt_module) - set(wayland_include_dir "Qt${qt_module}/private") - elseif (is_for_module) - set(wayland_include_dir "QtWaylandClient/private") - endif() - endif() - - add_custom_command( - OUTPUT "${qtwaylandscanner_header_output}" - COMMAND Qt6::qtwaylandscanner client-header - "${protocol_file}" - --build-macro=${build_macro} - --header-path="${wayland_include_dir}" - > "${qtwaylandscanner_header_output}" - DEPENDS ${protocol_file} Qt6::qtwaylandscanner - ) - - set(qtwaylandscanner_code_include "") - if (is_for_module) - set(qtwaylandscanner_code_include "") - endif() - - add_custom_command( - OUTPUT "${qtwaylandscanner_code_output}" - COMMAND Qt6::qtwaylandscanner client-code - "${protocol_file}" - --build-macro=${build_macro} - --header-path='${wayland_include_dir}' - --add-include='${qtwaylandscanner_code_include}' - > "${qtwaylandscanner_code_output}" - DEPENDS ${protocol_file} Qt6::qtwaylandscanner - ) - - target_sources(${target} PRIVATE - "${waylandscanner_header_output}" - "${waylandscanner_code_output}" - "${qtwaylandscanner_header_output}" - "${qtwaylandscanner_code_output}" - ) - endforeach() - target_include_directories(${target} PRIVATE ${target_binary_dir}) -endfunction() - -if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS) - function(qt_generate_wayland_protocol_client_sources) - qt6_generate_wayland_protocol_client_sources(${ARGV}) - endfunction() -endif()