diff options
132 files changed, 4924 insertions, 0 deletions
diff --git a/.prev_CMakeLists.txt b/.prev_CMakeLists.txt new file mode 100644 index 000000000..5a2b960d9 --- /dev/null +++ b/.prev_CMakeLists.txt @@ -0,0 +1,23 @@ +# Generated from qtwayland.pro. + +cmake_minimum_required(VERSION 3.15.0) + +project(wayland_FIXME + VERSION 6.0.0 + DESCRIPTION "Qt wayland_FIXME Libraries" + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C +) + +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core SET_ME_TO_SOMETHING_USEFUL) +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS SET_ME_TO_SOMETHING_USEFUL) + +if(NOT APPLE_OSX AND (ANDROID OR NOT LINUX)) + message(NOTICE "Skipping the build as the condition \"APPLE_OSX OR LINUX\" is not met.") + return() +endif() +if(NOT TARGET Qt::Gui) + message(NOTICE "Skipping the build as the condition \"TARGET Qt::Gui\" is not met.") + return() +endif() +qt_build_repo() diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..a96c05ac8 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from qtwayland.pro. + +cmake_minimum_required(VERSION 3.15.0) + +project(QtWayland # special case + VERSION 6.0.0 + DESCRIPTION "Qt Wayland Libraries" # special case + HOMEPAGE_URL "https://qt.io/" + LANGUAGES CXX C +) + +# special case begin +# TODO: Fix warnings and remove this +set(QT_REPO_NOT_WARNINGS_CLEAN TRUE) + +find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS + BuildInternals + Core + Gui + EventDispatcherSupport + FontDatabaseSupport + ThemeSupport +) + +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS + EglSupport + GlxSupport + LinuxAccessibilitySupport + Quick + ServiceSupport + VulkanSupport + XkbCommonSupport +) +# special case end + +if(NOT APPLE_OSX AND (ANDROID OR NOT LINUX)) + message(NOTICE "Skipping the build as the condition \"APPLE_OSX OR LINUX\" is not met.") + return() +endif() +if(NOT TARGET Qt::Gui) + message(NOTICE "Skipping the build as the condition \"TARGET Qt::Gui\" is not met.") + return() +endif() +qt_build_repo() diff --git a/cmake/FindWaylandkms.cmake b/cmake/FindWaylandkms.cmake new file mode 100644 index 000000000..136e70f84 --- /dev/null +++ b/cmake/FindWaylandkms.cmake @@ -0,0 +1,7 @@ +include(FindPkgConfig) + +pkg_check_modules(Waylandkms wayland-kms IMPORTED_TARGET) + +if (NOT TARGET PkgConfig::Waylandkms) + set(Waylandkms_FOUND 0) +endif() diff --git a/cmake/FindXComposite.cmake b/cmake/FindXComposite.cmake new file mode 100644 index 000000000..0be522797 --- /dev/null +++ b/cmake/FindXComposite.cmake @@ -0,0 +1,7 @@ +include(FindPkgConfig) + +pkg_check_modules(XComposite xcomposite IMPORTED_TARGET) + +if (NOT TARGET PkgConfig::XComposite) + set(XComposite_FOUND 0) +endif() diff --git a/coin/module_config.yaml b/coin/module_config.yaml new file mode 100644 index 000000000..6c53b4b49 --- /dev/null +++ b/coin/module_config.yaml @@ -0,0 +1,26 @@ +version: 1 +accept_configuration: + condition: property + property: host.os + equals_property: target.os + +build_instructions: + - !include "{{qt/qtbase}}/prepare_building_env.yaml" + - !include "{{qt/qtbase}}/cmake_module_build_instructions.yaml" + - !include "{{qt/qtbase}}/cmake_build_and_upload_test_artifacts.yaml" + +test_instructions: + - type: Group + instructions: + - !include "{{qt/qtbase}}/cmake_regular_test_instructions.yaml" + disable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: Dummy + variableValue: dummy + enable_if: + condition: property + property: host.os + equals_value: Windows diff --git a/config.tests/wayland_scanner/CMakeLists.txt b/config.tests/wayland_scanner/CMakeLists.txt new file mode 100644 index 000000000..794f48b16 --- /dev/null +++ b/config.tests/wayland_scanner/CMakeLists.txt @@ -0,0 +1,8 @@ +# Generated from wayland_scanner.pro. + +cmake_minimum_required(VERSION 3.14.0) +project(config_test_wayland_scanner LANGUAGES CXX) + +add_executable(${PROJECT_NAME} + main.cpp +) diff --git a/configure.cmake b/configure.cmake new file mode 100644 index 000000000..53e3f1109 --- /dev/null +++ b/configure.cmake @@ -0,0 +1,21 @@ + + +#### Inputs + + + +#### Libraries + + + +#### Tests + + + +#### Features + + +qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC) +qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC) +qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC) +qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 000000000..c1557e889 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,7 @@ +# Generated from examples.pro. + +qt_examples_build_begin() + +add_subdirectory(wayland) + +qt_examples_build_end() diff --git a/examples/wayland/.prev_CMakeLists.txt b/examples/wayland/.prev_CMakeLists.txt new file mode 100644 index 000000000..435734b7c --- /dev/null +++ b/examples/wayland/.prev_CMakeLists.txt @@ -0,0 +1,24 @@ +# Generated from wayland.pro. + +if(QT_FEATURE_opengl) + add_subdirectory(qwindow-compositor) + add_subdirectory(minimal-cpp) +endif() +if(TARGET Qt::Quick) + add_subdirectory(minimal-qml) + add_subdirectory(spanning-screens) + add_subdirectory(pure-qml) + add_subdirectory(multi-output) + add_subdirectory(multi-screen) + add_subdirectory(overview-compositor) + add_subdirectory(ivi-compositor) + add_subdirectory(server-side-decoration) + add_subdirectory(hwlayer-compositor) +endif() +if(TARGET Qt::Quick AND TARGET Qt::WaylandClient) + add_subdirectory(custom-extension) +endif() +if(QT_FEATURE_opengl AND TARGET Qt::Quick AND TARGET Qt::WaylandClient) + add_subdirectory(server-buffer) + add_subdirectory(texture-sharing) +endif() diff --git a/examples/wayland/CMakeLists.txt b/examples/wayland/CMakeLists.txt new file mode 100644 index 000000000..9470d3a1d --- /dev/null +++ b/examples/wayland/CMakeLists.txt @@ -0,0 +1,26 @@ +# Generated from wayland.pro. + +if(QT_FEATURE_wayland_server) # special case +if(QT_FEATURE_opengl) + add_subdirectory(qwindow-compositor) + add_subdirectory(minimal-cpp) +endif() +if(TARGET Qt::Quick) + add_subdirectory(minimal-qml) + add_subdirectory(spanning-screens) + add_subdirectory(pure-qml) + add_subdirectory(multi-output) + add_subdirectory(multi-screen) + add_subdirectory(overview-compositor) + add_subdirectory(ivi-compositor) + add_subdirectory(server-side-decoration) + add_subdirectory(hwlayer-compositor) +endif() +if(TARGET Qt::Quick AND TARGET Qt::WaylandClient) + add_subdirectory(custom-extension) +endif() +if(QT_FEATURE_opengl AND TARGET Qt::Quick AND TARGET Qt::WaylandClient) + add_subdirectory(server-buffer) + add_subdirectory(texture-sharing) +endif() +endif() # special case diff --git a/examples/wayland/custom-extension/CMakeLists.txt b/examples/wayland/custom-extension/CMakeLists.txt new file mode 100644 index 000000000..408a9174e --- /dev/null +++ b/examples/wayland/custom-extension/CMakeLists.txt @@ -0,0 +1,5 @@ +# Generated from custom-extension.pro. + +add_subdirectory(qml-client) +add_subdirectory(compositor) +add_subdirectory(cpp-client) diff --git a/examples/wayland/custom-extension/compositor/CMakeLists.txt b/examples/wayland/custom-extension/compositor/CMakeLists.txt new file mode 100644 index 000000000..6727e6ad4 --- /dev/null +++ b/examples/wayland/custom-extension/compositor/CMakeLists.txt @@ -0,0 +1,54 @@ +# Generated from compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(custom-extension-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/custom-extension/compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(custom-extension-compositor + customextension.cpp customextension.h + main.cpp +) + +qt6_generate_wayland_protocol_server_sources(custom-extension-compositor + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../protocol/custom.xml +) +target_link_libraries(custom-extension-compositor PUBLIC + Qt::Core + Qt::Gui + Qt::Qml + Qt::WaylandCompositor +) + + +# Resources: +set(compositor_resource_files + "images/background.png" + "qml/Screen.qml" + "qml/main.qml" +) + +qt6_add_resources(custom-extension-compositor "compositor" + PREFIX + "/" + FILES + ${compositor_resource_files} +) + +install(TARGETS custom-extension-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/custom-extension/cpp-client/CMakeLists.txt b/examples/wayland/custom-extension/cpp-client/CMakeLists.txt new file mode 100644 index 000000000..8f3708a19 --- /dev/null +++ b/examples/wayland/custom-extension/cpp-client/CMakeLists.txt @@ -0,0 +1,41 @@ +# Generated from cpp-client.pro. + +cmake_minimum_required(VERSION 3.14) +project(custom-extension-cpp-client LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/custom-extension/cpp-client") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WaylandClient) + +add_qt_gui_executable(custom-extension-cpp-client + ../client-common/customextension.cpp ../client-common/customextension.h + main.cpp +) + +qt6_generate_wayland_protocol_client_sources(custom-extension-cpp-client + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../protocol/custom.xml +) +target_link_libraries(custom-extension-cpp-client PRIVATE + Qt::GuiPrivate +) + +target_link_libraries(custom-extension-cpp-client PUBLIC + Qt::Core + Qt::Gui + Qt::WaylandClient +) + +install(TARGETS custom-extension-cpp-client + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/custom-extension/qml-client/CMakeLists.txt b/examples/wayland/custom-extension/qml-client/CMakeLists.txt new file mode 100644 index 000000000..f490b507d --- /dev/null +++ b/examples/wayland/custom-extension/qml-client/CMakeLists.txt @@ -0,0 +1,58 @@ +# Generated from qml-client.pro. + +cmake_minimum_required(VERSION 3.14) +project(custom-extension-qml-client LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/custom-extension/qml-client") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS Quick) +find_package(Qt6 COMPONENTS WaylandClient) + +add_qt_gui_executable(custom-extension-qml-client + ../client-common/customextension.cpp ../client-common/customextension.h + main.cpp +) + +qt6_generate_wayland_protocol_client_sources(custom-extension-qml-client + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../protocol/custom.xml +) +target_link_libraries(custom-extension-qml-client PRIVATE + Qt::GuiPrivate +) + +target_link_libraries(custom-extension-qml-client PUBLIC + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::WaylandClient +) + + +# Resources: +set(qml_resource_files + "main.qml" +) + +qt6_add_resources(custom-extension-qml-client "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + +install(TARGETS custom-extension-qml-client + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/hwlayer-compositor/CMakeLists.txt b/examples/wayland/hwlayer-compositor/CMakeLists.txt new file mode 100644 index 000000000..5d2d61e91 --- /dev/null +++ b/examples/wayland/hwlayer-compositor/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from hwlayer-compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(hwlayer-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/hwlayer-compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(hwlayer-compositor + main.cpp +) +target_link_libraries(hwlayer-compositor PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(hwlayer-compositor_resource_files + "main.qml" +) + +qt6_add_resources(hwlayer-compositor "hwlayer-compositor" + PREFIX + "/" + FILES + ${hwlayer-compositor_resource_files} +) + +install(TARGETS hwlayer-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/ivi-compositor/CMakeLists.txt b/examples/wayland/ivi-compositor/CMakeLists.txt new file mode 100644 index 000000000..31555531c --- /dev/null +++ b/examples/wayland/ivi-compositor/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from ivi-compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(ivi-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/ivi-compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(ivi-compositor + main.cpp +) +target_link_libraries(ivi-compositor PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(ivi-compositor_resource_files + "main.qml" +) + +qt6_add_resources(ivi-compositor "ivi-compositor" + PREFIX + "/" + FILES + ${ivi-compositor_resource_files} +) + +install(TARGETS ivi-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/minimal-cpp/.prev_CMakeLists.txt b/examples/wayland/minimal-cpp/.prev_CMakeLists.txt new file mode 100644 index 000000000..a278fce0c --- /dev/null +++ b/examples/wayland/minimal-cpp/.prev_CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from minimal-cpp.pro. + +cmake_minimum_required(VERSION 3.14) +project(minimal-cpp LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/minimal-cpp") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(minimal-cpp + compositor.cpp compositor.h + main.cpp + window.cpp window.h +) +target_include_directories(minimal-cpp PUBLIC + ../../include +) + +target_link_libraries(minimal-cpp PUBLIC + # Remove: L + ../../lib + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +install(TARGETS minimal-cpp + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/minimal-cpp/CMakeLists.txt b/examples/wayland/minimal-cpp/CMakeLists.txt new file mode 100644 index 000000000..a812865b9 --- /dev/null +++ b/examples/wayland/minimal-cpp/CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from minimal-cpp.pro. + +cmake_minimum_required(VERSION 3.14) +project(minimal-cpp LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/minimal-cpp") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(minimal-cpp + compositor.cpp compositor.h + main.cpp + window.cpp window.h +) +target_include_directories(minimal-cpp PUBLIC + ../../include +) + +target_link_libraries(minimal-cpp PUBLIC + # Remove: L + #../../lib # special case + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +install(TARGETS minimal-cpp + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/minimal-qml/CMakeLists.txt b/examples/wayland/minimal-qml/CMakeLists.txt new file mode 100644 index 000000000..fd8c4c68b --- /dev/null +++ b/examples/wayland/minimal-qml/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from minimal-qml.pro. + +cmake_minimum_required(VERSION 3.14) +project(minimal-qml LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/minimal-qml") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(minimal-qml + main.cpp +) +target_link_libraries(minimal-qml PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(minimal-qml_resource_files + "main.qml" +) + +qt6_add_resources(minimal-qml "minimal-qml" + PREFIX + "/" + FILES + ${minimal-qml_resource_files} +) + +install(TARGETS minimal-qml + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/multi-output/CMakeLists.txt b/examples/wayland/multi-output/CMakeLists.txt new file mode 100644 index 000000000..5e3f5b45f --- /dev/null +++ b/examples/wayland/multi-output/CMakeLists.txt @@ -0,0 +1,48 @@ +# Generated from multi-output.pro. + +cmake_minimum_required(VERSION 3.14) +project(multi-output LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/multi-output") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(multi-output + main.cpp +) +target_link_libraries(multi-output PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(multi-output_resource_files + "images/background.jpg" + "qml/GridScreen.qml" + "qml/ShellChrome.qml" + "qml/ShellScreen.qml" + "qml/main.qml" +) + +qt6_add_resources(multi-output "multi-output" + PREFIX + "/" + FILES + ${multi-output_resource_files} +) + +install(TARGETS multi-output + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/multi-screen/CMakeLists.txt b/examples/wayland/multi-screen/CMakeLists.txt new file mode 100644 index 000000000..ce38ddf66 --- /dev/null +++ b/examples/wayland/multi-screen/CMakeLists.txt @@ -0,0 +1,46 @@ +# Generated from multi-screen.pro. + +cmake_minimum_required(VERSION 3.14) +project(multi-screen LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/multi-screen") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(multi-screen + main.cpp +) +target_link_libraries(multi-screen PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(multi-screen_resource_files + "qml/Chrome.qml" + "qml/Screen.qml" + "qml/main.qml" +) + +qt6_add_resources(multi-screen "multi-screen" + PREFIX + "/" + FILES + ${multi-screen_resource_files} +) + +install(TARGETS multi-screen + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/overview-compositor/CMakeLists.txt b/examples/wayland/overview-compositor/CMakeLists.txt new file mode 100644 index 000000000..8e32b730c --- /dev/null +++ b/examples/wayland/overview-compositor/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from overview-compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(overview-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/overview-compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(overview-compositor + main.cpp +) +target_link_libraries(overview-compositor PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(overview-compositor_resource_files + "main.qml" +) + +qt6_add_resources(overview-compositor "overview-compositor" + PREFIX + "/" + FILES + ${overview-compositor_resource_files} +) + +install(TARGETS overview-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/pure-qml/CMakeLists.txt b/examples/wayland/pure-qml/CMakeLists.txt new file mode 100644 index 000000000..af504bfbe --- /dev/null +++ b/examples/wayland/pure-qml/CMakeLists.txt @@ -0,0 +1,48 @@ +# Generated from pure-qml.pro. + +cmake_minimum_required(VERSION 3.14) +project(pure-qml LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/pure-qml") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(pure-qml + main.cpp +) +target_link_libraries(pure-qml PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(pure-qml_resource_files + "images/background.jpg" + "qml/Chrome.qml" + "qml/Keyboard.qml" + "qml/Screen.qml" + "qml/main.qml" +) + +qt6_add_resources(pure-qml "pure-qml" + PREFIX + "/" + FILES + ${pure-qml_resource_files} +) + +install(TARGETS pure-qml + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/qwindow-compositor/.prev_CMakeLists.txt b/examples/wayland/qwindow-compositor/.prev_CMakeLists.txt new file mode 100644 index 000000000..048ea184f --- /dev/null +++ b/examples/wayland/qwindow-compositor/.prev_CMakeLists.txt @@ -0,0 +1,55 @@ +# Generated from qwindow-compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(qwindow-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/qwindow-compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(qwindow-compositor + compositor.cpp compositor.h + main.cpp + window.cpp window.h +) +target_include_directories(qwindow-compositor PUBLIC + ../../include +) + +target_link_libraries(qwindow-compositor PUBLIC + # Remove: L + ../../lib + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + + +# Resources: +set_source_files_properties("../pure-qml/images/background.jpg" + PROPERTIES QT_RESOURCE_ALIAS "background.jpg" +) +set(qwindow-compositor_resource_files + "../pure-qml/images/background.jpg" +) + +qt6_add_resources(qwindow-compositor "qwindow-compositor" + PREFIX + "/" + FILES + ${qwindow-compositor_resource_files} +) + +install(TARGETS qwindow-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/qwindow-compositor/CMakeLists.txt b/examples/wayland/qwindow-compositor/CMakeLists.txt new file mode 100644 index 000000000..1d1201bae --- /dev/null +++ b/examples/wayland/qwindow-compositor/CMakeLists.txt @@ -0,0 +1,55 @@ +# Generated from qwindow-compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(qwindow-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/qwindow-compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(qwindow-compositor + compositor.cpp compositor.h + main.cpp + window.cpp window.h +) +target_include_directories(qwindow-compositor PUBLIC + ../../include +) + +target_link_libraries(qwindow-compositor PUBLIC + # Remove: L + #../../lib # special case + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + + +# Resources: +set_source_files_properties("../pure-qml/images/background.jpg" + PROPERTIES QT_RESOURCE_ALIAS "background.jpg" +) +set(qwindow-compositor_resource_files + "../pure-qml/images/background.jpg" +) + +qt6_add_resources(qwindow-compositor "qwindow-compositor" + PREFIX + "/" + FILES + ${qwindow-compositor_resource_files} +) + +install(TARGETS qwindow-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/server-buffer/CMakeLists.txt b/examples/wayland/server-buffer/CMakeLists.txt new file mode 100644 index 000000000..ad4115116 --- /dev/null +++ b/examples/wayland/server-buffer/CMakeLists.txt @@ -0,0 +1,4 @@ +# Generated from server-buffer.pro. + +add_subdirectory(cpp-client) +add_subdirectory(compositor) diff --git a/examples/wayland/server-buffer/compositor/CMakeLists.txt b/examples/wayland/server-buffer/compositor/CMakeLists.txt new file mode 100644 index 000000000..dc47cfe0c --- /dev/null +++ b/examples/wayland/server-buffer/compositor/CMakeLists.txt @@ -0,0 +1,58 @@ +# Generated from compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/server-buffer/compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(compositor + main.cpp + sharebufferextension.cpp sharebufferextension.h +) + +qt6_generate_wayland_protocol_server_sources(compositor + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../share-buffer.xml +) +target_link_libraries(compositor PRIVATE + Qt::WaylandCompositorPrivate +) + +target_link_libraries(compositor PUBLIC + Qt::Core + Qt::Gui + Qt::Qml + Qt::WaylandCompositor +) + + +# Resources: +set(compositor_resource_files + "images/Siberischer_tiger_de_edit02.jpg" + "images/background.png" + "qml/main.qml" +) + +qt6_add_resources(compositor "compositor" + PREFIX + "/" + FILES + ${compositor_resource_files} +) + +install(TARGETS compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/server-buffer/cpp-client/CMakeLists.txt b/examples/wayland/server-buffer/cpp-client/CMakeLists.txt new file mode 100644 index 000000000..5b4c1e95c --- /dev/null +++ b/examples/wayland/server-buffer/cpp-client/CMakeLists.txt @@ -0,0 +1,42 @@ +# Generated from cpp-client.pro. + +cmake_minimum_required(VERSION 3.14) +project(server-buffer-cpp-client LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/server-buffer/cpp-client") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS WaylandClient) + +add_qt_gui_executable(server-buffer-cpp-client + main.cpp + sharebufferextension.cpp sharebufferextension.h +) + +qt6_generate_wayland_protocol_client_sources(server-buffer-cpp-client + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../share-buffer.xml +) +target_link_libraries(server-buffer-cpp-client PRIVATE + Qt::GuiPrivate + Qt::WaylandClientPrivate +) + +target_link_libraries(server-buffer-cpp-client PUBLIC + Qt::Core + Qt::Gui + Qt::WaylandClient +) + +install(TARGETS server-buffer-cpp-client + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/server-side-decoration/CMakeLists.txt b/examples/wayland/server-side-decoration/CMakeLists.txt new file mode 100644 index 000000000..299404aba --- /dev/null +++ b/examples/wayland/server-side-decoration/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from server-side-decoration.pro. + +cmake_minimum_required(VERSION 3.14) +project(server-side-decoration LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/server-side-decoration") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(server-side-decoration + main.cpp +) +target_link_libraries(server-side-decoration PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(server-side-decoration_resource_files + "main.qml" +) + +qt6_add_resources(server-side-decoration "server-side-decoration" + PREFIX + "/" + FILES + ${server-side-decoration_resource_files} +) + +install(TARGETS server-side-decoration + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/spanning-screens/CMakeLists.txt b/examples/wayland/spanning-screens/CMakeLists.txt new file mode 100644 index 000000000..510d7aec0 --- /dev/null +++ b/examples/wayland/spanning-screens/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from spanning-screens.pro. + +cmake_minimum_required(VERSION 3.14) +project(spanning-screens LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/spanning-screens") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +add_qt_gui_executable(spanning-screens + main.cpp +) +target_link_libraries(spanning-screens PUBLIC + Qt::Core + Qt::Gui + Qt::Qml +) + + +# Resources: +set(spanning-screens_resource_files + "main.qml" +) + +qt6_add_resources(spanning-screens "spanning-screens" + PREFIX + "/" + FILES + ${spanning-screens_resource_files} +) + +install(TARGETS spanning-screens + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/texture-sharing/CMakeLists.txt b/examples/wayland/texture-sharing/CMakeLists.txt new file mode 100644 index 000000000..bf6a7cbf9 --- /dev/null +++ b/examples/wayland/texture-sharing/CMakeLists.txt @@ -0,0 +1,4 @@ +# Generated from texture-sharing.pro. + +add_subdirectory(qml-client) +add_subdirectory(custom-compositor) diff --git a/examples/wayland/texture-sharing/custom-compositor/CMakeLists.txt b/examples/wayland/texture-sharing/custom-compositor/CMakeLists.txt new file mode 100644 index 000000000..ea56f9c3f --- /dev/null +++ b/examples/wayland/texture-sharing/custom-compositor/CMakeLists.txt @@ -0,0 +1,54 @@ +# Generated from custom-compositor.pro. + +cmake_minimum_required(VERSION 3.14) +project(texture-sharing-custom-compositor LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/texture-sharing/custom-compositor") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) +find_package(Qt6 COMPONENTS WaylandCompositor) + +add_qt_gui_executable(texture-sharing-custom-compositor + main.cpp +) +target_link_libraries(texture-sharing-custom-compositor PRIVATE + Qt::WaylandCompositorPrivate +) + +target_link_libraries(texture-sharing-custom-compositor PUBLIC + Qt::Core + Qt::Gui + Qt::Qml + Qt::WaylandCompositor +) + + +# Resources: +set(compositor_resource_files + "images/background.png" + "images/car.ktx" + "images/qt4.astc" + "images/qt_logo.png" + "qml/main.qml" +) + +qt6_add_resources(texture-sharing-custom-compositor "compositor" + PREFIX + "/" + FILES + ${compositor_resource_files} +) + +install(TARGETS texture-sharing-custom-compositor + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/wayland/texture-sharing/qml-client/CMakeLists.txt b/examples/wayland/texture-sharing/qml-client/CMakeLists.txt new file mode 100644 index 000000000..ec2e02ee4 --- /dev/null +++ b/examples/wayland/texture-sharing/qml-client/CMakeLists.txt @@ -0,0 +1,44 @@ +# Generated from qml-client.pro. + +cmake_minimum_required(VERSION 3.14) +project(qml-client LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +set(INSTALL_EXAMPLEDIR "examples/wayland/texture-sharing/qml-client") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Quick) + +add_qt_gui_executable(qml-client + main.cpp +) +target_link_libraries(qml-client PUBLIC + Qt::Core + Qt::Gui + Qt::Quick +) + + +# Resources: +set(qml-client_resource_files + "main.qml" +) + +qt6_add_resources(qml-client "qml-client" + PREFIX + "/" + FILES + ${qml-client_resource_files} +) + +install(TARGETS qml-client + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/src/.prev_CMakeLists.txt b/src/.prev_CMakeLists.txt new file mode 100644 index 000000000..c55baa556 --- /dev/null +++ b/src/.prev_CMakeLists.txt @@ -0,0 +1,2 @@ +# Generated from src.pro. + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 000000000..62c1adbec --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,58 @@ +# Generated from src.pro. +# special case begin +qt_find_package(WaylandScanner PROVIDED_TARGETS Wayland::Scanner) +qt_find_package(Wayland) + +if (NOT WaylandScanner_FOUND OR NOT Wayland_FOUND) + message(WARNING "QtWayland is missing required dependencies, nothing will be built. \ +Although this could be considered an error, the configuration will still pass as coin (Qt's \ +continuous integration system) will fail the build if configure fails, but will still try to \ +configure the module on targets that are missing dependencies.") + return() +endif() + +# We conditionally add_subdirectory(client) based on a feature that is defined +# in client/configure.cmake, so we need this hack to make sure the feature is +# defined on this level as well. +# TODO: when we remove configure.json support and stop generating +# configure.cmake, we should move the features up one level and deduplicate the +# features shared with the compositor. +qt_feature_module_begin( + NO_MODULE + PUBLIC_FILE "qtwayland-client-config.h" + PRIVATE_FILE "qtwayland-client-config_p.h" +) +include("${CMAKE_CURRENT_SOURCE_DIR}/client/configure.cmake") +qt_feature_module_end(NO_MODULE) + +# Similar hack as above, but for the compositor +qt_feature_module_begin( + NO_MODULE + PUBLIC_FILE "qtwayland-compositor-config.h" + PRIVATE_FILE "qtwayland-compositor-config_p.h" +) +include("${CMAKE_CURRENT_SOURCE_DIR}/compositor/configure.cmake") +qt_feature_module_end(NO_MODULE) +# special case end + +add_subdirectory(qtwaylandscanner) + +# special case begin +# TODO: Ideally these macros would be part of the qtwaylandscanner tool, and not the compositor/client +include(client/Qt6WaylandClientMacros.cmake) +include(compositor/Qt6WaylandCompositorMacros.cmake) +#special case end + +if (QT_FEATURE_wayland_client) + add_subdirectory(client) +endif() + +if (QT_FEATURE_wayland_server) + add_subdirectory(compositor) +endif() + +if (QT_FEATURE_wayland_server OR QT_FEATURE_wayland_client) + add_subdirectory(plugins) + add_subdirectory(imports) +endif() +# special case end diff --git a/src/client/.prev_CMakeLists.txt b/src/client/.prev_CMakeLists.txt new file mode 100644 index 000000000..274cf70d6 --- /dev/null +++ b/src/client/.prev_CMakeLists.txt @@ -0,0 +1,135 @@ +# Generated from client.pro. + +##################################################################### +## WaylandClient Module: +##################################################################### + +qt_add_module(WaylandClient + PLUGIN_TYPES wayland-graphics-integration-client wayland-inputdevice-integration wayland-decoration-client wayland-shell-integration + SOURCES + ../shared/qwaylandinputmethodeventbuilder.cpp ../shared/qwaylandinputmethodeventbuilder_p.h + ../shared/qwaylandmimehelper.cpp ../shared/qwaylandmimehelper_p.h + ../shared/qwaylandsharedmemoryformathelper_p.h + global/qwaylandclientextension.cpp global/qwaylandclientextension.h global/qwaylandclientextension_p.h + hardwareintegration/qwaylandclientbufferintegration.cpp hardwareintegration/qwaylandclientbufferintegration_p.h + hardwareintegration/qwaylandclientbufferintegrationfactory.cpp hardwareintegration/qwaylandclientbufferintegrationfactory_p.h + hardwareintegration/qwaylandclientbufferintegrationplugin.cpp hardwareintegration/qwaylandclientbufferintegrationplugin_p.h + hardwareintegration/qwaylandhardwareintegration.cpp hardwareintegration/qwaylandhardwareintegration_p.h + hardwareintegration/qwaylandserverbufferintegration.cpp hardwareintegration/qwaylandserverbufferintegration_p.h + hardwareintegration/qwaylandserverbufferintegrationfactory.cpp hardwareintegration/qwaylandserverbufferintegrationfactory_p.h + hardwareintegration/qwaylandserverbufferintegrationplugin.cpp hardwareintegration/qwaylandserverbufferintegrationplugin_p.h + inputdeviceintegration/qwaylandinputdeviceintegration_p.h + inputdeviceintegration/qwaylandinputdeviceintegrationfactory.cpp inputdeviceintegration/qwaylandinputdeviceintegrationfactory_p.h + inputdeviceintegration/qwaylandinputdeviceintegrationplugin.cpp inputdeviceintegration/qwaylandinputdeviceintegrationplugin_p.h + qtwaylandclientglobal.h qtwaylandclientglobal_p.h + qwaylandabstractdecoration.cpp qwaylandabstractdecoration_p.h + qwaylandbuffer.cpp qwaylandbuffer_p.h + qwaylanddecorationfactory.cpp qwaylanddecorationfactory_p.h + qwaylanddecorationplugin.cpp qwaylanddecorationplugin_p.h + qwaylanddisplay.cpp qwaylanddisplay_p.h + qwaylandextendedsurface.cpp qwaylandextendedsurface_p.h + qwaylandinputcontext.cpp qwaylandinputcontext_p.h + qwaylandinputdevice.cpp qwaylandinputdevice_p.h + qwaylandintegration.cpp qwaylandintegration_p.h + qwaylandnativeinterface.cpp qwaylandnativeinterface_p.h + qwaylandqtkey.cpp qwaylandqtkey_p.h + qwaylandscreen.cpp qwaylandscreen_p.h + qwaylandshellsurface.cpp qwaylandshellsurface_p.h + qwaylandshm.cpp qwaylandshm_p.h + qwaylandshmbackingstore.cpp qwaylandshmbackingstore_p.h + qwaylandshmwindow.cpp qwaylandshmwindow_p.h + qwaylandsubsurface.cpp qwaylandsubsurface_p.h + qwaylandsurface.cpp qwaylandsurface_p.h + qwaylandtouch.cpp qwaylandtouch_p.h + qwaylandwindow.cpp qwaylandwindow_p.h + qwaylandwindowmanagerintegration.cpp qwaylandwindowmanagerintegration_p.h + shellintegration/qwaylandshellintegration_p.h + shellintegration/qwaylandshellintegrationfactory.cpp shellintegration/qwaylandshellintegrationfactory_p.h + shellintegration/qwaylandshellintegrationplugin.cpp shellintegration/qwaylandshellintegrationplugin_p.h + INCLUDE_DIRECTORIES + ../shared + global + hardwareintegration + inputdeviceintegration + shellintegration + LIBRARIES + Qt::CorePrivate + Qt::EventDispatcherSupportPrivate + Qt::FontDatabaseSupportPrivate + Qt::GuiPrivate + Qt::ServiceSupportPrivate + Qt::ThemeSupportPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(WaylandClient + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wp-primary-selection-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-output-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-key-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-windowmanager.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/surface-extension.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/touch-extension.xml + ${CMAKE_CURRENT_SOURCE_DIR}/hardwareintegration/../../extensions/hardware-integration.xml + ${CMAKE_CURRENT_SOURCE_DIR}/hardwareintegration/../../extensions/server-buffer-extension.xml +) + +#### Keys ignored in scope 1:.:.:client.pro:<TRUE>: +# MODULE = "waylandclient" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" + +## Scopes: +##################################################################### + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_vulkan + SOURCES + qwaylandvulkaninstance.cpp qwaylandvulkaninstance_p.h + qwaylandvulkanwindow.cpp qwaylandvulkanwindow_p.h + LIBRARIES + Qt::VulkanSupportPrivate +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_xkbcommon + LIBRARIES + Qt::XkbCommonSupportPrivate +) + +qt_extend_target(WaylandClient CONDITION TARGET linuxaccessibility_support_private + LIBRARIES + linuxaccessibility_support_private +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_clipboard + SOURCES + qwaylandclipboard.cpp qwaylandclipboard_p.h +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_cursor + SOURCES + qwaylandcursor.cpp qwaylandcursor_p.h + PUBLIC_LIBRARIES + Wayland::Cursor +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_wayland_datadevice + SOURCES + qwaylanddatadevice.cpp qwaylanddatadevice_p.h + qwaylanddatadevicemanager.cpp qwaylanddatadevicemanager_p.h + qwaylanddataoffer.cpp qwaylanddataoffer_p.h + qwaylanddatasource.cpp qwaylanddatasource_p.h +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_wayland_client_primary_selection + SOURCES + qwaylandprimaryselectionv1.cpp qwaylandprimaryselectionv1_p.h +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_draganddrop + SOURCES + qwaylanddnd.cpp qwaylanddnd_p.h +) diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt new file mode 100644 index 000000000..133865179 --- /dev/null +++ b/src/client/CMakeLists.txt @@ -0,0 +1,135 @@ +# Generated from client.pro. + +##################################################################### +## WaylandClient Module: +##################################################################### + +qt_add_module(WaylandClient + PLUGIN_TYPES wayland-graphics-integration-client wayland-inputdevice-integration wayland-decoration-client wayland-shell-integration + SOURCES + ../shared/qwaylandinputmethodeventbuilder.cpp ../shared/qwaylandinputmethodeventbuilder_p.h + ../shared/qwaylandmimehelper.cpp ../shared/qwaylandmimehelper_p.h + ../shared/qwaylandsharedmemoryformathelper_p.h + global/qwaylandclientextension.cpp global/qwaylandclientextension.h global/qwaylandclientextension_p.h + hardwareintegration/qwaylandclientbufferintegration.cpp hardwareintegration/qwaylandclientbufferintegration_p.h + hardwareintegration/qwaylandclientbufferintegrationfactory.cpp hardwareintegration/qwaylandclientbufferintegrationfactory_p.h + hardwareintegration/qwaylandclientbufferintegrationplugin.cpp hardwareintegration/qwaylandclientbufferintegrationplugin_p.h + hardwareintegration/qwaylandhardwareintegration.cpp hardwareintegration/qwaylandhardwareintegration_p.h + hardwareintegration/qwaylandserverbufferintegration.cpp hardwareintegration/qwaylandserverbufferintegration_p.h + hardwareintegration/qwaylandserverbufferintegrationfactory.cpp hardwareintegration/qwaylandserverbufferintegrationfactory_p.h + hardwareintegration/qwaylandserverbufferintegrationplugin.cpp hardwareintegration/qwaylandserverbufferintegrationplugin_p.h + inputdeviceintegration/qwaylandinputdeviceintegration_p.h + inputdeviceintegration/qwaylandinputdeviceintegrationfactory.cpp inputdeviceintegration/qwaylandinputdeviceintegrationfactory_p.h + inputdeviceintegration/qwaylandinputdeviceintegrationplugin.cpp inputdeviceintegration/qwaylandinputdeviceintegrationplugin_p.h + qtwaylandclientglobal.h qtwaylandclientglobal_p.h + qwaylandabstractdecoration.cpp qwaylandabstractdecoration_p.h + qwaylandbuffer.cpp qwaylandbuffer_p.h + qwaylanddecorationfactory.cpp qwaylanddecorationfactory_p.h + qwaylanddecorationplugin.cpp qwaylanddecorationplugin_p.h + qwaylanddisplay.cpp qwaylanddisplay_p.h + qwaylandextendedsurface.cpp qwaylandextendedsurface_p.h + qwaylandinputcontext.cpp qwaylandinputcontext_p.h + qwaylandinputdevice.cpp qwaylandinputdevice_p.h + qwaylandintegration.cpp qwaylandintegration_p.h + qwaylandnativeinterface.cpp qwaylandnativeinterface_p.h + qwaylandqtkey.cpp qwaylandqtkey_p.h + qwaylandscreen.cpp qwaylandscreen_p.h + qwaylandshellsurface.cpp qwaylandshellsurface_p.h + qwaylandshm.cpp qwaylandshm_p.h + qwaylandshmbackingstore.cpp qwaylandshmbackingstore_p.h + qwaylandshmwindow.cpp qwaylandshmwindow_p.h + qwaylandsubsurface.cpp qwaylandsubsurface_p.h + qwaylandsurface.cpp qwaylandsurface_p.h + qwaylandtouch.cpp qwaylandtouch_p.h + qwaylandwindow.cpp qwaylandwindow_p.h + qwaylandwindowmanagerintegration.cpp qwaylandwindowmanagerintegration_p.h + shellintegration/qwaylandshellintegration_p.h + shellintegration/qwaylandshellintegrationfactory.cpp shellintegration/qwaylandshellintegrationfactory_p.h + shellintegration/qwaylandshellintegrationplugin.cpp shellintegration/qwaylandshellintegrationplugin_p.h + INCLUDE_DIRECTORIES + ../shared + global + hardwareintegration + inputdeviceintegration + shellintegration + LIBRARIES + Qt::CorePrivate + Qt::EventDispatcherSupportPrivate + Qt::FontDatabaseSupportPrivate + Qt::GuiPrivate + Qt::ServiceSupportPrivate + Qt::ThemeSupportPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(WaylandClient + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wp-primary-selection-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-output-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-key-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-windowmanager.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/surface-extension.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/touch-extension.xml + ${CMAKE_CURRENT_SOURCE_DIR}/hardwareintegration/../../extensions/hardware-integration.xml + ${CMAKE_CURRENT_SOURCE_DIR}/hardwareintegration/../../extensions/server-buffer-extension.xml +) + +#### Keys ignored in scope 1:.:.:client.pro:<TRUE>: +# MODULE = "waylandclient" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" + +## Scopes: +##################################################################### + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_vulkan + SOURCES + qwaylandvulkaninstance.cpp qwaylandvulkaninstance_p.h + qwaylandvulkanwindow.cpp qwaylandvulkanwindow_p.h + LIBRARIES + Qt::VulkanSupportPrivate +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_xkbcommon + LIBRARIES + Qt::XkbCommonSupportPrivate +) + +qt_extend_target(WaylandClient CONDITION TARGET Qt::LinuxAccessibilitySupportPrivate # special case + LIBRARIES + Qt::LinuxAccessibilitySupportPrivate # special case +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_clipboard + SOURCES + qwaylandclipboard.cpp qwaylandclipboard_p.h +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_cursor + SOURCES + qwaylandcursor.cpp qwaylandcursor_p.h + PUBLIC_LIBRARIES + Wayland::Cursor +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_wayland_datadevice + SOURCES + qwaylanddatadevice.cpp qwaylanddatadevice_p.h + qwaylanddatadevicemanager.cpp qwaylanddatadevicemanager_p.h + qwaylanddataoffer.cpp qwaylanddataoffer_p.h + qwaylanddatasource.cpp qwaylanddatasource_p.h +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_wayland_client_primary_selection + SOURCES + qwaylandprimaryselectionv1.cpp qwaylandprimaryselectionv1_p.h +) + +qt_extend_target(WaylandClient CONDITION QT_FEATURE_draganddrop + SOURCES + qwaylanddnd.cpp qwaylanddnd_p.h +) diff --git a/src/client/Qt6WaylandClientMacros.cmake b/src/client/Qt6WaylandClientMacros.cmake new file mode 100644 index 000000000..83e557ffd --- /dev/null +++ b/src/client/Qt6WaylandClientMacros.cmake @@ -0,0 +1,59 @@ +function(qt6_generate_wayland_protocol_client_sources target) + qt_parse_all_arguments(arg "qt6_generate_wayland_protocol_client_sources" "" "" "FILES" ${ARGN}) + get_target_property(target_binary_dir ${target} BINARY_DIR) + + 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") + + add_custom_command( + OUTPUT "${waylandscanner_header_output}" + #TODO: Maybe put the files in ${CMAKE_CURRENT_BINARY_DIR/wayland_generated instead? + COMMAND Wayland::Scanner --include-core-only client-header < "${protocol_file}" > "${waylandscanner_header_output}" + ) + + add_custom_command( + OUTPUT "${waylandscanner_code_output}" + COMMAND Wayland::Scanner --include-core-only code < "${protocol_file}" > "${waylandscanner_code_output}" + ) + + # TODO: Make this less hacky + set(wayland_include_dir "") + get_target_property(is_for_module "${target}" INTERFACE_MODULE_HAS_HEADERS) + if (is_for_module) + set(wayland_include_dir "QtWaylandClient/private") + endif() + + add_custom_command( + OUTPUT "${qtwaylandscanner_header_output}" + COMMAND Qt6::qtwaylandscanner client-header "${protocol_file}" "${wayland_include_dir}" > "${qtwaylandscanner_header_output}" + ) + + # TODO: We need this hack in order to get the xcomposite plugins to build... + # unfortunately, it's not going to work outside QtWayland because we're using waylandclient-private includes + set(qtwaylandscanner_code_include "") + set (targets_that_need_include "xcomposite-egl" "xcomposite-glx" "qwayland-xcomposite-egl" "qwayland-xcomposite-glx") + if ("${target}" IN_LIST targets_that_need_include OR is_for_module) + set(qtwaylandscanner_code_include "<QtWaylandClient/private/wayland-wayland-client-protocol.h>") + endif() + + add_custom_command( + OUTPUT "${qtwaylandscanner_code_output}" + COMMAND Qt6::qtwaylandscanner client-code "${protocol_file}" --header-path='${wayland_include_dir}' --add-include='${qtwaylandscanner_code_include}' > "${qtwaylandscanner_code_output}" + ) + + 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() + diff --git a/src/client/configure.cmake b/src/client/configure.cmake new file mode 100644 index 000000000..99aed833e --- /dev/null +++ b/src/client/configure.cmake @@ -0,0 +1,194 @@ + + +#### Inputs + + + +#### Libraries + +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(Wayland PROVIDED_TARGETS Wayland::Client) +endif() +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(Wayland PROVIDED_TARGETS Wayland::Cursor) +endif() +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(Wayland PROVIDED_TARGETS Wayland::Egl) +endif() +qt_find_package(XComposite PROVIDED_TARGETS PkgConfig::XComposite) + + +#### Tests + +# drm-egl-server +qt_config_compile_test(drm_egl_server + LABEL "DRM EGL Server" + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +#ifdef EGL_MESA_drm_image +return 0; +#else +#error Requires EGL_MESA_drm_image to be defined +return 1; +#endif + /* END TEST: */ + return 0; +} +") + +# libhybris-egl-server +qt_config_compile_test(libhybris_egl_server + LABEL "libhybris EGL Server" + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <hybris/eglplatformcommon/hybris_nativebufferext.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +#ifdef EGL_HYBRIS_native_buffer +return 0; +#else +#error Requires EGL_HYBRIS_native_buffer to be defined +return 1; +#endif + /* END TEST: */ + return 0; +} +") + +# dmabuf-server-buffer +qt_config_compile_test(dmabuf_server_buffer + LABEL "Linux dma-buf Buffer Sharing" + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <drm_fourcc.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +#ifdef EGL_LINUX_DMA_BUF_EXT +return 0; +#else +#error Requires EGL_LINUX_DMA_BUF_EXT +return 1; +#endif + /* END TEST: */ + return 0; +} +") + +# vulkan-server-buffer +qt_config_compile_test(vulkan_server_buffer + LABEL "Vulkan Buffer Sharing" + CODE +" +#include <vulkan/vulkan.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +VkExportMemoryAllocateInfoKHR exportAllocInfo = {}; +exportAllocInfo.sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR; +exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR; +return 0; + /* END TEST: */ + return 0; +} +") + + + +#### Features + +qt_feature("wayland_client" PRIVATE + LABEL "Qt Wayland Client" + CONDITION NOT WIN32 AND Wayland_FOUND AND Wayland_FOUND AND WaylandScanner_FOUND +) +qt_feature("wayland_datadevice" PRIVATE + CONDITION QT_FEATURE_draganddrop OR QT_FEATURE_clipboard +) +qt_feature("wayland_client_primary_selection" PRIVATE + LABEL "primary-selection clipboard" + CONDITION QT_FEATURE_clipboard +) +qt_feature("wayland_client_fullscreen_shell_v1" PRIVATE + LABEL "fullscreen-shell-v1" + CONDITION QT_FEATURE_wayland_client +) +qt_feature("wayland_client_ivi_shell" PRIVATE + LABEL "ivi-shell" + CONDITION QT_FEATURE_wayland_client +) +qt_feature("wayland_client_wl_shell" PRIVATE + LABEL "wl-shell (deprecated)" + CONDITION QT_FEATURE_wayland_client +) +qt_feature("wayland_client_xdg_shell" PRIVATE + LABEL "xdg-shell" + CONDITION QT_FEATURE_wayland_client +) +qt_feature("wayland_client_xdg_shell_v5" PRIVATE + LABEL "xdg-shell unstable v5 (deprecated)" + CONDITION QT_FEATURE_wayland_client +) +qt_feature("wayland_client_xdg_shell_v6" PRIVATE + LABEL "xdg-shell unstable v6" + CONDITION QT_FEATURE_wayland_client +) +qt_feature("wayland_egl" PRIVATE + LABEL "EGL" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND Wayland_FOUND +) +qt_feature("wayland_brcm" PRIVATE + LABEL "Raspberry Pi" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_eglfs_brcm +) +qt_feature("xcomposite_egl" PRIVATE + LABEL "XComposite EGL" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND QT_FEATURE_xlib AND XComposite_FOUND AND QT_FEATURE_egl_x11 +) +qt_feature("xcomposite_glx" PRIVATE + LABEL "XComposite GLX" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND +) +qt_feature("wayland_drm_egl_server_buffer" PRIVATE + LABEL "DRM EGL" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_drm_egl_server +) +qt_feature("wayland_libhybris_egl_server_buffer" PRIVATE + LABEL "libhybris EGL" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_libhybris_egl_server +) +qt_feature("wayland_dmabuf_server_buffer" PRIVATE + LABEL "Linux dma-buf server buffer integration" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_dmabuf_server_buffer +) +qt_feature("wayland_vulkan_server_buffer" PRIVATE + LABEL "Vulkan-based server buffer integration" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_vulkan_server_buffer +) +qt_feature("wayland_shm_emulation_server_buffer" PRIVATE + LABEL "Shm emulation server buffer integration" + CONDITION QT_FEATURE_wayland_client AND QT_FEATURE_opengl +) diff --git a/src/compositor/CMakeLists.txt b/src/compositor/CMakeLists.txt new file mode 100644 index 000000000..734fb8433 --- /dev/null +++ b/src/compositor/CMakeLists.txt @@ -0,0 +1,212 @@ +# Generated from compositor.pro. + +##################################################################### +## WaylandCompositor Module: +##################################################################### + +qt_add_module(WaylandCompositor + PLUGIN_TYPES wayland-graphics-integration-server wayland-hardware-layer-integration + SOURCES + ../shared/qwaylandinputmethodeventbuilder.cpp ../shared/qwaylandinputmethodeventbuilder_p.h + ../shared/qwaylandmimehelper.cpp ../shared/qwaylandmimehelper_p.h + ../shared/qwaylandsharedmemoryformathelper_p.h + compositor_api/qwaylandbufferref.cpp compositor_api/qwaylandbufferref.h + compositor_api/qwaylandclient.cpp compositor_api/qwaylandclient.h + compositor_api/qwaylandcompositor.cpp compositor_api/qwaylandcompositor.h compositor_api/qwaylandcompositor_p.h + compositor_api/qwaylanddestroylistener.cpp compositor_api/qwaylanddestroylistener.h compositor_api/qwaylanddestroylistener_p.h + compositor_api/qwaylandkeyboard.cpp compositor_api/qwaylandkeyboard.h compositor_api/qwaylandkeyboard_p.h + compositor_api/qwaylandkeymap.cpp compositor_api/qwaylandkeymap.h compositor_api/qwaylandkeymap_p.h + compositor_api/qwaylandoutput.cpp compositor_api/qwaylandoutput.h compositor_api/qwaylandoutput_p.h + compositor_api/qwaylandoutputmode.cpp compositor_api/qwaylandoutputmode.h compositor_api/qwaylandoutputmode_p.h + compositor_api/qwaylandpointer.cpp compositor_api/qwaylandpointer.h compositor_api/qwaylandpointer_p.h + compositor_api/qwaylandquickchildren.h + compositor_api/qwaylandresource.cpp compositor_api/qwaylandresource.h + compositor_api/qwaylandseat.cpp compositor_api/qwaylandseat.h compositor_api/qwaylandseat_p.h + compositor_api/qwaylandsurface.cpp compositor_api/qwaylandsurface.h compositor_api/qwaylandsurface_p.h + compositor_api/qwaylandsurfacegrabber.cpp compositor_api/qwaylandsurfacegrabber.h + compositor_api/qwaylandtouch.cpp compositor_api/qwaylandtouch.h compositor_api/qwaylandtouch_p.h + compositor_api/qwaylandview.cpp compositor_api/qwaylandview.h compositor_api/qwaylandview_p.h + extensions/pregenerated/3rdparty/qwayland-server-xdg-shell-unstable-v5.cpp extensions/pregenerated/3rdparty/qwayland-server-xdg-shell-unstable-v5_p.h + extensions/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-protocol.c + extensions/pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-server-protocol_p.h + extensions/qwaylandidleinhibitv1.cpp extensions/qwaylandidleinhibitv1.h extensions/qwaylandidleinhibitv1_p.h + extensions/qwaylandiviapplication.cpp extensions/qwaylandiviapplication.h extensions/qwaylandiviapplication_p.h + extensions/qwaylandivisurface.cpp extensions/qwaylandivisurface.h extensions/qwaylandivisurface_p.h + extensions/qwaylandqtwindowmanager.cpp extensions/qwaylandqtwindowmanager.h extensions/qwaylandqtwindowmanager_p.h + extensions/qwaylandshell.cpp extensions/qwaylandshell.h extensions/qwaylandshell_p.h + extensions/qwaylandshellsurface.cpp extensions/qwaylandshellsurface.h + extensions/qwaylandtextinput.cpp extensions/qwaylandtextinput.h extensions/qwaylandtextinput_p.h + extensions/qwaylandtextinputmanager.cpp extensions/qwaylandtextinputmanager.h extensions/qwaylandtextinputmanager_p.h + extensions/qwaylandviewporter.cpp extensions/qwaylandviewporter.h extensions/qwaylandviewporter_p.h + extensions/qwaylandwlscaler.cpp extensions/qwaylandwlscaler.h extensions/qwaylandwlscaler_p.h + extensions/qwaylandwlshell.cpp extensions/qwaylandwlshell.h extensions/qwaylandwlshell_p.h + extensions/qwaylandxdgdecorationv1.cpp extensions/qwaylandxdgdecorationv1.h extensions/qwaylandxdgdecorationv1_p.h + extensions/qwaylandxdgoutputv1.cpp extensions/qwaylandxdgoutputv1.h extensions/qwaylandxdgoutputv1_p.h + extensions/qwaylandxdgshell.cpp extensions/qwaylandxdgshell.h extensions/qwaylandxdgshell_p.h + extensions/qwaylandxdgshellv5.cpp extensions/qwaylandxdgshellv5.h extensions/qwaylandxdgshellv5_p.h + extensions/qwaylandxdgshellv6.cpp extensions/qwaylandxdgshellv6.h extensions/qwaylandxdgshellv6_p.h + extensions/qwlqtkey.cpp extensions/qwlqtkey_p.h + extensions/qwlqttouch.cpp extensions/qwlqttouch_p.h + global/qtwaylandcompositorglobal.h + global/qwaylandcompositorextension.cpp global/qwaylandcompositorextension.h global/qwaylandcompositorextension_p.h + global/qwaylandquickextension.h + global/qwaylandutils_p.h + wayland_wrapper/qwlbuffermanager.cpp wayland_wrapper/qwlbuffermanager_p.h + wayland_wrapper/qwlclientbuffer.cpp wayland_wrapper/qwlclientbuffer_p.h + wayland_wrapper/qwlregion.cpp wayland_wrapper/qwlregion_p.h + INCLUDE_DIRECTORIES + ../shared + compositor_api + extensions + global + wayland_wrapper + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Wayland::Server +) + +# Resources: +set(compositor_resource_files + "shaders/surface.vert" + "shaders/surface_oes_external.frag" + "shaders/surface_rgba.frag" + "shaders/surface_rgbx.frag" + "shaders/surface_y_u_v.frag" + "shaders/surface_y_uv.frag" + "shaders/surface_y_xuxv.frag" +) + +qt_add_resource(WaylandCompositor "compositor" + PREFIX + "/qt-project.org/wayland/compositor" + FILES + ${compositor_resource_files} +) + + +qt6_generate_wayland_protocol_server_sources(WaylandCompositor + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/idle-inhibit-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/scaler.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/viewporter.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-decoration-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-output-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-shell.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/protocol/xdg-shell-unstable-v6.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-key-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-windowmanager.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/touch-extension.xml +) + +#### Keys ignored in scope 1:.:.:compositor.pro:<TRUE>: +# MODULE = "waylandcompositor" + +## Scopes: +##################################################################### + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_xkbcommon + LIBRARIES + Qt::XkbCommonSupportPrivate + PUBLIC_LIBRARIES + XKB::XKB +) + +qt_extend_target(WaylandCompositor CONDITION TARGET Qt::Quick + SOURCES + extensions/qwaylandivisurfaceintegration.cpp extensions/qwaylandivisurfaceintegration_p.h + extensions/qwaylandquickshellintegration.cpp extensions/qwaylandquickshellintegration.h + extensions/qwaylandquickshellsurfaceitem.cpp extensions/qwaylandquickshellsurfaceitem.h extensions/qwaylandquickshellsurfaceitem_p.h + extensions/qwaylandquickxdgoutputv1.cpp extensions/qwaylandquickxdgoutputv1.h + extensions/qwaylandwlshellintegration.cpp extensions/qwaylandwlshellintegration_p.h + extensions/qwaylandxdgshellintegration.cpp extensions/qwaylandxdgshellintegration_p.h + extensions/qwaylandxdgshellv5integration.cpp extensions/qwaylandxdgshellv5integration_p.h + extensions/qwaylandxdgshellv6integration.cpp extensions/qwaylandxdgshellv6integration_p.h + PUBLIC_LIBRARIES + Qt::Quick +) + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_wayland_datadevice + SOURCES + wayland_wrapper/qwldatadevice.cpp wayland_wrapper/qwldatadevice_p.h + wayland_wrapper/qwldatadevicemanager.cpp wayland_wrapper/qwldatadevicemanager_p.h + wayland_wrapper/qwldataoffer.cpp wayland_wrapper/qwldataoffer_p.h + wayland_wrapper/qwldatasource.cpp wayland_wrapper/qwldatasource_p.h +) + +if(QT_FEATURE_opengl) + + qt6_generate_wayland_protocol_server_sources(WaylandCompositor + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/hardware-integration.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/server-buffer-extension.xml + ) + +endif() + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl + SOURCES + hardware_integration/qwlclientbufferintegration.cpp hardware_integration/qwlclientbufferintegration_p.h + hardware_integration/qwlclientbufferintegrationfactory.cpp hardware_integration/qwlclientbufferintegrationfactory_p.h + hardware_integration/qwlclientbufferintegrationplugin.cpp hardware_integration/qwlclientbufferintegrationplugin_p.h + hardware_integration/qwlhardwarelayerintegration.cpp hardware_integration/qwlhardwarelayerintegration_p.h + hardware_integration/qwlhardwarelayerintegrationfactory.cpp hardware_integration/qwlhardwarelayerintegrationfactory_p.h + hardware_integration/qwlhardwarelayerintegrationplugin.cpp hardware_integration/qwlhardwarelayerintegrationplugin_p.h + hardware_integration/qwlhwintegration.cpp hardware_integration/qwlhwintegration_p.h + hardware_integration/qwlserverbufferintegration.cpp hardware_integration/qwlserverbufferintegration_p.h + hardware_integration/qwlserverbufferintegrationfactory.cpp hardware_integration/qwlserverbufferintegrationfactory_p.h + hardware_integration/qwlserverbufferintegrationplugin.cpp hardware_integration/qwlserverbufferintegrationplugin_p.h +) + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_im + SOURCES + compositor_api/qwaylandinputmethodcontrol.cpp compositor_api/qwaylandinputmethodcontrol.h compositor_api/qwaylandinputmethodcontrol_p.h +) + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_draganddrop + SOURCES + compositor_api/qwaylanddrag.cpp compositor_api/qwaylanddrag.h +) + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_wayland_compositor_quick + SOURCES + compositor_api/qwaylandquickcompositor.cpp compositor_api/qwaylandquickcompositor.h + compositor_api/qwaylandquickitem.cpp compositor_api/qwaylandquickitem.h compositor_api/qwaylandquickitem_p.h + compositor_api/qwaylandquickoutput.cpp compositor_api/qwaylandquickoutput.h + compositor_api/qwaylandquicksurface.cpp compositor_api/qwaylandquicksurface.h + LIBRARIES + Qt::QmlPrivate + Qt::QuickPrivate + PUBLIC_LIBRARIES + Qt::Qml + Qt::Quick +) + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl AND QT_FEATURE_wayland_compositor_quick + SOURCES + compositor_api/qwaylandquickhardwarelayer.cpp compositor_api/qwaylandquickhardwarelayer_p.h +) + +if(QT_FEATURE_opengl AND TARGET Qt::Quick) + + qt6_generate_wayland_protocol_server_sources(WaylandCompositor + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../extensions/qt-texture-sharing-unstable-v1.xml + ) + +endif() + +qt_extend_target(WaylandCompositor CONDITION QT_FEATURE_opengl AND TARGET Qt::Quick + SOURCES + extensions/qwltexturesharingextension.cpp extensions/qwltexturesharingextension_p.h +) +qt_add_docs(WaylandCompositor + doc/qtwaylandcompositor.qdocconf +) + diff --git a/src/compositor/Qt6WaylandCompositorMacros.cmake b/src/compositor/Qt6WaylandCompositorMacros.cmake new file mode 100644 index 000000000..15444e6cc --- /dev/null +++ b/src/compositor/Qt6WaylandCompositorMacros.cmake @@ -0,0 +1,50 @@ +function(qt6_generate_wayland_protocol_server_sources target) + qt_parse_all_arguments(arg "qt6_generate_wayland_protocol_server_sources" "" "" "FILES" ${ARGN}) + get_target_property(target_binary_dir ${target} BINARY_DIR) + + 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}-server-protocol.h") + set(waylandscanner_code_output "${target_binary_dir}/wayland-${protocol_name}-protocol.c") + set(qtwaylandscanner_header_output "${target_binary_dir}/qwayland-server-${protocol_name}.h") + set(qtwaylandscanner_code_output "${target_binary_dir}/qwayland-server-${protocol_name}.cpp") + + add_custom_command( + OUTPUT "${waylandscanner_header_output}" + #TODO: Maybe put the files in ${CMAKE_CURRENT_BINARY_DIR/wayland_generated instead? + COMMAND Wayland::Scanner --include-core-only server-header < "${protocol_file}" > "${waylandscanner_header_output}" + ) + add_custom_command( + OUTPUT "${waylandscanner_code_output}" + COMMAND Wayland::Scanner --include-core-only code < "${protocol_file}" > "${waylandscanner_code_output}" + ) + + # TODO: make this less hacky + set(wayland_include_dir "") + #get_target_property(qt_module "${target}" QT_MODULE) + get_target_property(is_for_module "${target}" INTERFACE_MODULE_HAS_HEADERS) + if (is_for_module) + set(wayland_include_dir "QtWaylandCompositor/private") + endif() + + add_custom_command( + OUTPUT "${qtwaylandscanner_header_output}" + COMMAND Qt6::qtwaylandscanner server-header "${protocol_file}" "${wayland_include_dir}" > "${qtwaylandscanner_header_output}" + ) + + add_custom_command( + OUTPUT "${qtwaylandscanner_code_output}" + COMMAND Qt6::qtwaylandscanner server-code "${protocol_file}" "${wayland_include_dir}" > "${qtwaylandscanner_code_output}" + ) + + 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() + diff --git a/src/compositor/configure.cmake b/src/compositor/configure.cmake new file mode 100644 index 000000000..a08673f03 --- /dev/null +++ b/src/compositor/configure.cmake @@ -0,0 +1,207 @@ + + +#### Inputs + + + +#### Libraries + +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(Wayland PROVIDED_TARGETS Wayland::Server) +endif() +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(Wayland PROVIDED_TARGETS Wayland::Egl) +endif() +if((LINUX) OR QT_FIND_ALL_PACKAGES_ALWAYS) + qt_find_package(Waylandkms PROVIDED_TARGETS PkgConfig::Waylandkms) +endif() +qt_find_package(XComposite PROVIDED_TARGETS PkgConfig::XComposite) + + +#### Tests + +# drm-egl-server +qt_config_compile_test(drm_egl_server + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +#ifdef EGL_MESA_drm_image +return 0; +#else +#error Requires EGL_MESA_drm_image to be defined +return 1; +#endif + /* END TEST: */ + return 0; +} +") + +# libhybris-egl-server +qt_config_compile_test(libhybris_egl_server + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <hybris/eglplatformcommon/hybris_nativebufferext.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +#ifdef EGL_HYBRIS_native_buffer +return 0; +#else +#error Requires EGL_HYBRIS_native_buffer to be defined +return 1; +#endif + /* END TEST: */ + return 0; +} +") + +# dmabuf-server-buffer +qt_config_compile_test(dmabuf_server_buffer + LABEL "Linux dma-buf Buffer Sharing" + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <drm_fourcc.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +#ifdef EGL_LINUX_DMA_BUF_EXT +return 0; +#else +#error Requires EGL_LINUX_DMA_BUF_EXT +return 1; +#endif + /* END TEST: */ + return 0; +} +") + +# dmabuf-client-buffer +qt_config_compile_test(dmabuf_client_buffer + LABEL "Linux Client dma-buf Buffer Sharing" + LIBRARIES + EGL::EGL + CODE +" +#include <EGL/egl.h> +#include <EGL/eglext.h> +#include <drm_mode.h> +#include <drm_fourcc.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +// test if DMA BUF is supported +#ifndef EGL_LINUX_DMA_BUF_EXT +#error DMA BUF Extension not available +#endif +// test if DMA BUF import modifier extension is supported +#ifndef EGL_EXT_image_dma_buf_import_modifiers +#error DMA BUF Import modifier extension not available +#endif +return 0; + /* END TEST: */ + return 0; +} +") + +# vulkan-server-buffer +qt_config_compile_test(vulkan_server_buffer + LABEL "Vulkan Buffer Sharing" + CODE +" +#include <vulkan/vulkan.h> + +int main(int argc, char **argv) +{ + (void)argc; (void)argv; + /* BEGIN TEST: */ +VkExportMemoryAllocateInfoKHR exportAllocInfo = {}; +exportAllocInfo.sType = VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_KHR; +exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR; +return 0; + /* END TEST: */ + return 0; +} +") + + + +#### Features + +qt_feature("wayland_server" PRIVATE + LABEL "Qt Wayland Compositor" + CONDITION NOT WIN32 AND Wayland_FOUND AND WaylandScanner_FOUND +) +qt_feature("wayland_datadevice" PRIVATE + CONDITION QT_FEATURE_draganddrop OR QT_FEATURE_clipboard +) +qt_feature("wayland_egl" PRIVATE + LABEL "EGL" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND QT_FEATURE_egl AND Wayland_FOUND +) +qt_feature("wayland_brcm" PRIVATE + LABEL "Raspberry Pi" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_eglfs_brcm +) +qt_feature("xcomposite_egl" PRIVATE + LABEL "XComposite EGL" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_egl AND QT_FEATURE_opengl AND XComposite_FOUND +) +qt_feature("xcomposite_glx" PRIVATE + LABEL "XComposite EGL" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND NOT QT_FEATURE_opengles2 AND QT_FEATURE_xlib AND XComposite_FOUND +) +qt_feature("wayland_drm_egl_server_buffer" PRIVATE + LABEL "DRM EGL" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_drm_egl_server +) +qt_feature("wayland_libhybris_egl_server_buffer" PRIVATE + LABEL "libhybris EGL" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_libhybris_egl_server +) +qt_feature("wayland_dmabuf_server_buffer" PRIVATE + LABEL "Linux dma-buf server buffer integration" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_dmabuf_server_buffer +) +qt_feature("wayland_dmabuf_client_buffer" PRIVATE + LABEL "Linux dma-buf client buffer integration" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_dmabuf_client_buffer +) +qt_feature("wayland_vulkan_server_buffer" PRIVATE + LABEL "Vulkan-based server buffer integration" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl AND QT_FEATURE_egl AND TEST_vulkan_server_buffer +) +qt_feature("wayland_shm_emulation_server_buffer" PRIVATE + LABEL "Shm emulation server buffer" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_opengl +) +qt_feature("wayland_layer_integration_vsp2" PRIVATE + LABEL "VSP2 hardware layer integration" + CONDITION QT_FEATURE_wayland_server AND QT_FEATURE_eglfs_vsp2 AND Waylandkms_FOUND +) +qt_feature("wayland_compositor_quick" PUBLIC + LABEL "QtQuick integration for wayland compositor" + PURPOSE "Allows QtWayland compositor types to be used with QtQuick" + CONDITION QT_FEATURE_wayland_server AND TARGET Qt::Quick AND QT_FEATURE_opengl +) diff --git a/src/imports/CMakeLists.txt b/src/imports/CMakeLists.txt new file mode 100644 index 000000000..96fd56168 --- /dev/null +++ b/src/imports/CMakeLists.txt @@ -0,0 +1,9 @@ +# Generated from imports.pro. + +if(TARGET Qt::Quick AND TARGET Qt::WaylandCompositor) + add_subdirectory(compositor) +endif() +if(QT_FEATURE_opengl AND TARGET Qt::Quick AND TARGET Qt::WaylandClient AND TARGET Qt::WaylandCompositor) + add_subdirectory(texture-sharing) + add_subdirectory(texture-sharing-extension) +endif() diff --git a/src/imports/compositor/CMakeLists.txt b/src/imports/compositor/CMakeLists.txt new file mode 100644 index 000000000..e65d90193 --- /dev/null +++ b/src/imports/compositor/CMakeLists.txt @@ -0,0 +1,41 @@ +# Generated from compositor.pro. + +##################################################################### +## qwaylandcompositorplugin Plugin: +##################################################################### + +qt_add_qml_module(qwaylandcompositorplugin + URI "QtWayland.Compositor" + VERSION "1.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QWaylandCompositorPlugin + SKIP_TYPE_REGISTRATION + SOURCES + qwaylandmousetracker.cpp qwaylandmousetracker_p.h + qwaylandquickcompositorplugin.cpp + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QmlPrivate + Qt::QuickPrivate + Qt::WaylandCompositorPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::WaylandCompositor +) +#### Ignored generated resource: ${CMAKE_CURRENT_BINARY_DIR}/compositor.qrc +#### Keys ignored in scope 1:.:.:compositor.pro:<TRUE>: +# COMPOSITOR_QML_FILES = "WaylandOutputWindow.qml" "WaylandCursorItem.qml" +# CXX_MODULE = "qml" +# IMPORT_VERSION = "1.$$QT_MINOR_VERSION" +# QMAKE_QMLPLUGINDUMP_FLAGS = "-defaultplatform" +# RESOURCE_CONTENT = "<RCC>" "<qresource prefix="/QtWayland/Compositor">" "</qresource>" "</RCC>" +# TARGETPATH = "QtWayland/Compositor" + +## Scopes: +##################################################################### + +#### Keys ignored in scope 3:.:.:compositor.pro:(CMAKE_BUILD_TYPE STREQUAL Debug): +# QML_FILES = "$$COMPOSITOR_QML_FILES" diff --git a/src/imports/texture-sharing-extension/CMakeLists.txt b/src/imports/texture-sharing-extension/CMakeLists.txt new file mode 100644 index 000000000..c816448c4 --- /dev/null +++ b/src/imports/texture-sharing-extension/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from texture-sharing-extension.pro. + +##################################################################### +## qwaylandtexturesharingextension Plugin: +##################################################################### + +qt_add_qml_module(qwaylandtexturesharingextension + URI "QtWayland.Compositor.TextureSharingExtension" + VERSION "1.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QWaylandTextureSharingExtensionPlugin + SKIP_TYPE_REGISTRATION + SOURCES + plugin.cpp + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QuickPrivate + Qt::WaylandCompositorPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::WaylandCompositor +) + +#### Keys ignored in scope 1:.:.:texture-sharing-extension.pro:<TRUE>: +# CXX_MODULE = "qml" +# IMPORT_VERSION = "1.$$QT_MINOR_VERSION" +# TARGETPATH = "QtWayland/Compositor/TextureSharingExtension" diff --git a/src/imports/texture-sharing/CMakeLists.txt b/src/imports/texture-sharing/CMakeLists.txt new file mode 100644 index 000000000..cc787b288 --- /dev/null +++ b/src/imports/texture-sharing/CMakeLists.txt @@ -0,0 +1,37 @@ +# Generated from texture-sharing.pro. + +##################################################################### +## qwaylandtexturesharing Plugin: +##################################################################### + +qt_add_qml_module(qwaylandtexturesharing + URI "QtWayland.Client.TextureSharing" + VERSION "1.${CMAKE_PROJECT_VERSION_MINOR}" + CLASSNAME QWaylandTextureSharingPlugin + SKIP_TYPE_REGISTRATION + SOURCES + plugin.cpp + sharedtextureprovider.cpp sharedtextureprovider.h + texturesharingextension.cpp texturesharingextension.h + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::QuickPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::Qml + Qt::Quick + Qt::WaylandClient +) + +qt6_generate_wayland_protocol_client_sources(qwaylandtexturesharing + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../extensions/qt-texture-sharing-unstable-v1.xml +) + +#### Keys ignored in scope 1:.:.:texture-sharing.pro:<TRUE>: +# CXX_MODULE = "qml" +# IMPORT_VERSION = "1.$$QT_MINOR_VERSION" +# TARGETPATH = "QtWayland/Client/TextureSharing" diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt new file mode 100644 index 000000000..ef58376ae --- /dev/null +++ b/src/plugins/CMakeLists.txt @@ -0,0 +1,8 @@ +# Generated from plugins.pro. + +add_subdirectory(hardwareintegration) +if(TARGET Qt::WaylandClient) + add_subdirectory(platforms) + add_subdirectory(decorations) + add_subdirectory(shellintegration) +endif() diff --git a/src/plugins/decorations/CMakeLists.txt b/src/plugins/decorations/CMakeLists.txt new file mode 100644 index 000000000..fd7fbeb20 --- /dev/null +++ b/src/plugins/decorations/CMakeLists.txt @@ -0,0 +1,3 @@ +# Generated from decorations.pro. + +add_subdirectory(bradient) diff --git a/src/plugins/decorations/bradient/CMakeLists.txt b/src/plugins/decorations/bradient/CMakeLists.txt new file mode 100644 index 000000000..760718cac --- /dev/null +++ b/src/plugins/decorations/bradient/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from bradient.pro. + +##################################################################### +## bradient Plugin: +##################################################################### + +qt_add_plugin(bradient + TYPE wayland-decoration-client + CLASS_NAME QWaylandBradientDecorationPlugin + SOURCES + main.cpp + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +#### Keys ignored in scope 1:.:.:bradient.pro:<TRUE>: +# OTHER_FILES = "bradient.json" diff --git a/src/plugins/hardwareintegration/CMakeLists.txt b/src/plugins/hardwareintegration/CMakeLists.txt new file mode 100644 index 000000000..656b43b85 --- /dev/null +++ b/src/plugins/hardwareintegration/CMakeLists.txt @@ -0,0 +1,8 @@ +# Generated from hardwareintegration.pro. + +if(TARGET Qt::WaylandClient) + add_subdirectory(client) +endif() +if(TARGET Qt::WaylandCompositor) + add_subdirectory(compositor) +endif() diff --git a/src/plugins/hardwareintegration/client/CMakeLists.txt b/src/plugins/hardwareintegration/client/CMakeLists.txt new file mode 100644 index 000000000..32493e4bc --- /dev/null +++ b/src/plugins/hardwareintegration/client/CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from client.pro. + +if(QT_FEATURE_wayland_egl) + add_subdirectory(wayland-egl) +endif() +if(QT_FEATURE_wayland_brcm) + add_subdirectory(brcm-egl) +endif() +if(QT_FEATURE_xcomposite_egl) + add_subdirectory(xcomposite-egl) +endif() +if(QT_FEATURE_xcomposite_glx) + add_subdirectory(xcomposite-glx) +endif() +if(QT_FEATURE_wayland_drm_egl_server_buffer) + add_subdirectory(drm-egl-server) +endif() +if(QT_FEATURE_wayland_libhybris_egl_server_buffer) + add_subdirectory(libhybris-egl-server) +endif() +if(QT_FEATURE_wayland_shm_emulation_server_buffer) + add_subdirectory(shm-emulation-server) +endif() +if(QT_FEATURE_wayland_dmabuf_server_buffer) + add_subdirectory(dmabuf-server) +endif() +if(QT_FEATURE_wayland_vulkan_server_buffer) + add_subdirectory(vulkan-server) +endif() diff --git a/src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt b/src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt new file mode 100644 index 000000000..e02b020e6 --- /dev/null +++ b/src/plugins/hardwareintegration/client/brcm-egl/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from brcm-egl.pro. + +##################################################################### +## brcm-egl Plugin: +##################################################################### + +qt_add_plugin(brcm-egl + TYPE wayland-graphics-integration-client + CLASS_NAME QWaylandBrcmEglClientBufferPlugin + SOURCES + ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h + ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h + ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp ../../../../hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/brcm-egl + LIBRARIES + Qt::EglSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + ${CMAKE_DL_LIBS} + EGL::EGL + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(brcm-egl + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/brcm-egl/../../../extensions/brcm.xml +) + +#### Keys ignored in scope 1:.:.:brcm-egl.pro:<TRUE>: +# OTHER_FILES = "brcm-egl.json" diff --git a/src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt new file mode 100644 index 000000000..41d7c12e2 --- /dev/null +++ b/src/plugins/hardwareintegration/client/dmabuf-server/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from dmabuf-server.pro. + +##################################################################### +## dmabuf-server Plugin: +##################################################################### + +qt_add_plugin(dmabuf-server + TYPE wayland-graphics-integration-client + CLASS_NAME DmaBufServerBufferPlugin + SOURCES + ../../../../hardwareintegration/client/dmabuf-server/dmabufserverbufferintegration.cpp ../../../../hardwareintegration/client/dmabuf-server/dmabufserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/dmabuf-server + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(dmabuf-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/dmabuf-server/../../../extensions/qt-dmabuf-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:dmabuf-server.pro:<TRUE>: +# OTHER_FILES = "dmabuf-server.json" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" diff --git a/src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt new file mode 100644 index 000000000..337857cc2 --- /dev/null +++ b/src/plugins/hardwareintegration/client/drm-egl-server/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from drm-egl-server.pro. + +##################################################################### +## drm-egl-server Plugin: +##################################################################### + +qt_add_plugin(drm-egl-server + TYPE wayland-graphics-integration-client + CLASS_NAME DrmEglServerBufferPlugin + SOURCES + ../../../../hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.cpp ../../../../hardwareintegration/client/drm-egl-server/drmeglserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/drm-egl-server + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(drm-egl-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/drm-egl-server/../../../extensions/drm-egl-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:drm-egl-server.pro:<TRUE>: +# OTHER_FILES = "drm-egl-server.json" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" diff --git a/src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt new file mode 100644 index 000000000..ca1738f50 --- /dev/null +++ b/src/plugins/hardwareintegration/client/libhybris-egl-server/CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from libhybris-egl-server.pro. + +##################################################################### +## libhybris-egl-server Plugin: +##################################################################### + +qt_add_plugin(libhybris-egl-server + TYPE wayland-graphics-integration-client + CLASS_NAME LibHybrisEglServerBufferPlugin + SOURCES + ../../../../hardwareintegration/client/libhybris-egl-server/libhybriseglserverbufferintegration.cpp ../../../../hardwareintegration/client/libhybris-egl-server/libhybriseglserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/libhybris-egl-server + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(libhybris-egl-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/libhybris-egl-server/../../../extensions/libhybris-egl-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:libhybris-egl-server.pro:<TRUE>: +# OTHER_FILES = "libhybris-egl-server.json" diff --git a/src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt new file mode 100644 index 000000000..d7a7294ec --- /dev/null +++ b/src/plugins/hardwareintegration/client/shm-emulation-server/CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from shm-emulation-server.pro. + +##################################################################### +## shm-emulation-server Plugin: +##################################################################### + +qt_add_plugin(shm-emulation-server + TYPE wayland-graphics-integration-client + CLASS_NAME ShmServerBufferPlugin + SOURCES + ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.cpp ../../../../hardwareintegration/client/shm-emulation-server/shmserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/shm-emulation-server + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(shm-emulation-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/shm-emulation-server/../../../extensions/shm-emulation-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:shm-emulation-server.pro:<TRUE>: +# OTHER_FILES = "shm-emulation-server.json" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" diff --git a/src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt b/src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt new file mode 100644 index 000000000..46ad01249 --- /dev/null +++ b/src/plugins/hardwareintegration/client/vulkan-server/CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from vulkan-server.pro. + +##################################################################### +## vulkan-server Plugin: +##################################################################### + +qt_add_plugin(vulkan-server + TYPE wayland-graphics-integration-client + CLASS_NAME VulkanServerBufferPlugin + SOURCES + ../../../../hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.cpp ../../../../hardwareintegration/client/vulkan-server/vulkanserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/vulkan-server + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(vulkan-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/vulkan-server/../../../extensions/qt-vulkan-server-buffer-unstable-v1.xml +) + +#### Keys ignored in scope 1:.:.:vulkan-server.pro:<TRUE>: +# OTHER_FILES = "vulkan-server.json" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" diff --git a/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt b/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt new file mode 100644 index 000000000..cbe1b6a9f --- /dev/null +++ b/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from wayland-egl.pro. + +##################################################################### +## qt-plugin-wayland-egl Plugin: +##################################################################### + +qt_add_plugin(qt-plugin-wayland-egl + TYPE wayland-graphics-integration-client + CLASS_NAME QWaylandEglClientBufferPlugin + SOURCES + ../../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp ../../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h + ../../../../hardwareintegration/client/wayland-egl/qwaylandeglinclude.h + ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.h + ../../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp ../../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/wayland-egl + LIBRARIES + Qt::EglSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Egl +) + +#### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>: +# OTHER_FILES = "wayland-egl.json" diff --git a/src/plugins/hardwareintegration/client/xcomposite-egl/CMakeLists.txt b/src/plugins/hardwareintegration/client/xcomposite-egl/CMakeLists.txt new file mode 100644 index 000000000..a4b6e2741 --- /dev/null +++ b/src/plugins/hardwareintegration/client/xcomposite-egl/CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from xcomposite-egl.pro. + +##################################################################### +## xcomposite-egl Plugin: +##################################################################### + +qt_add_plugin(xcomposite-egl + TYPE wayland-graphics-integration-client + CLASS_NAME QWaylandXCompositeEglClientBufferPlugin + SOURCES + ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h + ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h + ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp ../../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h + ../../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.cpp ../../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/xcomposite-egl + ../../../../hardwareintegration/client/xcomposite_share + LIBRARIES + Qt::EglSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + PkgConfig::XComposite + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client + X11::X11 +) + +qt6_generate_wayland_protocol_client_sources(xcomposite-egl + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:xcomposite-egl.pro:<TRUE>: +# OTHER_FILES = "xcomposite-egl.json" +# QMAKE_CXXFLAGS_WARN_ON = "--Wcast-qual" diff --git a/src/plugins/hardwareintegration/client/xcomposite-glx/CMakeLists.txt b/src/plugins/hardwareintegration/client/xcomposite-glx/CMakeLists.txt new file mode 100644 index 000000000..179dd8db2 --- /dev/null +++ b/src/plugins/hardwareintegration/client/xcomposite-glx/CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from xcomposite-glx.pro. + +##################################################################### +## xcomposite-glx Plugin: +##################################################################### + +qt_add_plugin(xcomposite-glx + TYPE wayland-graphics-integration-client + CLASS_NAME QWaylandXCompositeGlxClientBufferPlugin + SOURCES + ../../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp ../../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h + ../../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.cpp ../../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h + ../../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.cpp ../../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h + ../../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.cpp ../../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/client/xcomposite-glx + ../../../../hardwareintegration/client/xcomposite_share + LIBRARIES + Qt::GlxSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + ${CMAKE_DL_LIBS} + PkgConfig::XComposite + Qt::Core + Qt::GlxSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client + X11::X11 +) + +qt6_generate_wayland_protocol_client_sources(xcomposite-glx + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/client/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:xcomposite-glx.pro:<TRUE>: +# OTHER_FILES = "xcomposite-glx.json" diff --git a/src/plugins/hardwareintegration/compositor/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/CMakeLists.txt new file mode 100644 index 000000000..67ca5a4b3 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/CMakeLists.txt @@ -0,0 +1,34 @@ +# Generated from compositor.pro. + +add_subdirectory(hardwarelayer) +if(QT_FEATURE_wayland_dmabuf_client_buffer) + add_subdirectory(linux-dmabuf-unstable-v1) +endif() +if(QT_FEATURE_wayland_egl) + add_subdirectory(wayland-egl) + add_subdirectory(wayland-eglstream-controller) +endif() +if(QT_FEATURE_wayland_brcm) + add_subdirectory(brcm-egl) +endif() +if(QT_FEATURE_xcomposite_egl) + add_subdirectory(xcomposite-egl) +endif() +if(QT_FEATURE_xcomposite_glx) + add_subdirectory(xcomposite-glx) +endif() +if(QT_FEATURE_wayland_drm_egl_server_buffer) + add_subdirectory(drm-egl-server) +endif() +if(QT_FEATURE_wayland_libhybris_egl_server_buffer) + add_subdirectory(libhybris-egl-server) +endif() +if(QT_FEATURE_wayland_shm_emulation_server_buffer) + add_subdirectory(shm-emulation-server) +endif() +if(QT_FEATURE_wayland_dmabuf_server_buffer) + add_subdirectory(dmabuf-server) +endif() +if(QT_FEATURE_wayland_vulkan_server_buffer) + add_subdirectory(vulkan-server) +endif() diff --git a/src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt new file mode 100644 index 000000000..cbe9a8de8 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/brcm-egl/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from brcm-egl.pro. + +##################################################################### +## qt-wayland-compositor-brcm-egl Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-brcm-egl + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandBrcmClientBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/brcm-egl/brcmbuffer.cpp ../../../../hardwareintegration/compositor/brcm-egl/brcmbuffer.h + ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.cpp ../../../../hardwareintegration/compositor/brcm-egl/brcmeglintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/brcm-egl + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-brcm-egl + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/brcm-egl/../../../extensions/brcm.xml +) + +#### Keys ignored in scope 1:.:.:brcm-egl.pro:<TRUE>: +# OTHER_FILES = "brcm-egl.json" diff --git a/src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt new file mode 100644 index 000000000..eb66943e5 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/dmabuf-server/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from dmabuf-server.pro. + +##################################################################### +## qt-wayland-compositor-dmabuf-server-buffer Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-dmabuf-server-buffer + TYPE wayland-graphics-integration-server + CLASS_NAME DmaBufServerBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/dmabuf-server/dmabufserverbufferintegration.cpp ../../../../hardwareintegration/compositor/dmabuf-server/dmabufserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/dmabuf-server + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-dmabuf-server-buffer + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/dmabuf-server/../../../extensions/qt-dmabuf-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:dmabuf-server.pro:<TRUE>: +# OTHER_FILES = "dmabuf-server.json" diff --git a/src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt new file mode 100644 index 000000000..75803bbeb --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/drm-egl-server/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from drm-egl-server.pro. + +##################################################################### +## qt-wayland-compositor-drm-egl-server-buffer Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-drm-egl-server-buffer + TYPE wayland-graphics-integration-server + CLASS_NAME DrmEglServerBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.cpp ../../../../hardwareintegration/compositor/drm-egl-server/drmeglserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/drm-egl-server + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-drm-egl-server-buffer + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/drm-egl-server/../../../extensions/drm-egl-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:drm-egl-server.pro:<TRUE>: +# OTHER_FILES = "drm-egl-server.json" diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt new file mode 100644 index 000000000..5a40a66b3 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/hardwarelayer/CMakeLists.txt @@ -0,0 +1,5 @@ +# Generated from hardwarelayer.pro. + +if(QT_FEATURE_wayland_layer_integration_vsp2) + add_subdirectory(vsp2) +endif() diff --git a/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt new file mode 100644 index 000000000..c10ce1101 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/hardwarelayer/vsp2/CMakeLists.txt @@ -0,0 +1,28 @@ +# Generated from vsp2.pro. + +##################################################################### +## qt-wayland-compositor-vsp2 Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-vsp2 + TYPE wayland-hardware-layer-integration + CLASS_NAME Vsp2HardwareLayerIntegrationPlugin + SOURCES + ../../../../../hardwareintegration/compositor/hardwarelayer/vsp2/vsp2hardwarelayerintegration.cpp ../../../../../hardwareintegration/compositor/hardwarelayer/vsp2/vsp2hardwarelayerintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../../hardwareintegration/compositor/hardwarelayer/vsp2 + LIBRARIES + PkgConfig::Waylandkms + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +#### Keys ignored in scope 1:.:.:vsp2.pro:<TRUE>: +# OTHER_FILES = "vsp2.json" diff --git a/src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt new file mode 100644 index 000000000..0dc08b7ab --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/libhybris-egl-server/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from libhybris-egl-server.pro. + +##################################################################### +## qt-wayland-compositor-libybris-egl-server.json Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-libybris-egl-server.json + TYPE wayland-graphics-integration-server + CLASS_NAME LibHybrisEglServerBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/libhybris-egl-server/libhybriseglserverbufferintegration.cpp ../../../../hardwareintegration/compositor/libhybris-egl-server/libhybriseglserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/libhybris-egl-server + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-libybris-egl-server.json + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/libhybris-egl-server/../../../extensions/libhybris-egl-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:libhybris-egl-server.pro:<TRUE>: +# OTHER_FILES = "libhybris-egl-server.json" diff --git a/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt new file mode 100644 index 000000000..6d0a70398 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/linux-dmabuf-unstable-v1/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from linux-dmabuf-unstable-v1.pro. + +##################################################################### +## qt-wayland-compositor-linux-dmabuf-unstable-v1 Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-linux-dmabuf-unstable-v1 + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandDmabufClientBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.cpp ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabuf.h + ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.cpp ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/linuxdmabufclientbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1 + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::EglSupportPrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-linux-dmabuf-unstable-v1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/linux-dmabuf-unstable-v1/../../../3rdparty/protocol/linux-dmabuf-unstable-v1.xml +) + +#### Keys ignored in scope 1:.:.:linux-dmabuf-unstable-v1.pro:<TRUE>: +# OTHER_FILES = "linux-dmabuf.json" diff --git a/src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt new file mode 100644 index 000000000..d49a06007 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/shm-emulation-server/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from shm-emulation-server.pro. + +##################################################################### +## qt-wayland-compositor-shm-emulation-server Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-shm-emulation-server + TYPE wayland-graphics-integration-server + CLASS_NAME ShmServerBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/shm-emulation-server/shmserverbufferintegration.cpp ../../../../hardwareintegration/compositor/shm-emulation-server/shmserverbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/shm-emulation-server + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-shm-emulation-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/shm-emulation-server/../../../extensions/shm-emulation-server-buffer.xml +) + +#### Keys ignored in scope 1:.:.:shm-emulation-server.pro:<TRUE>: +# OTHER_FILES = "shm-emulation-server.json" diff --git a/src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt new file mode 100644 index 000000000..e666e1441 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/vulkan-server/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from vulkan-server.pro. + +##################################################################### +## qt-wayland-compositor-vulkan-server Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-vulkan-server + TYPE wayland-graphics-integration-server + CLASS_NAME VulkanServerBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.cpp ../../../../hardwareintegration/compositor/vulkan-server/vulkanserverbufferintegration.h + ../../../../hardwareintegration/compositor/vulkan-server/vulkanwrapper.cpp ../../../../hardwareintegration/compositor/vulkan-server/vulkanwrapper.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/vulkan-server + ../../../../hardwareintegration/compositor/vulkan-server/../../../3rdparty/util + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::VulkanSupportPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::VulkanSupport + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-vulkan-server + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/vulkan-server/../../../extensions/qt-vulkan-server-buffer-unstable-v1.xml +) + +#### Keys ignored in scope 1:.:.:vulkan-server.pro:<TRUE>: +# OTHER_FILES = "vulkan-server.json" diff --git a/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt new file mode 100644 index 000000000..558403a11 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/wayland-egl/CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from wayland-egl.pro. + +##################################################################### +## qt-wayland-compositor-wayland-egl Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-wayland-egl + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandEglClientBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.cpp ../../../../hardwareintegration/compositor/wayland-egl/waylandeglclientbufferintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/wayland-egl + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::EglSupportPrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Egl + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandCompositor +) + +#### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>: +# OTHER_FILES = "wayland-egl.json" diff --git a/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt new file mode 100644 index 000000000..5d1cacc05 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/wayland-eglstream-controller/CMakeLists.txt @@ -0,0 +1,37 @@ +# Generated from wayland-eglstream-controller.pro. + +##################################################################### +## qt-wayland-compositor-wayland-eglstream-controller Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-wayland-eglstream-controller + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandEglStreamBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamcontroller.cpp ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamcontroller.h + ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamintegration.cpp ../../../../hardwareintegration/compositor/wayland-eglstream-controller/waylandeglstreamintegration.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/wayland-eglstream-controller + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::EglSupportPrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Egl + Wayland::Server + PUBLIC_LIBRARIES + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-wayland-eglstream-controller + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/wayland-eglstream-controller/../../../3rdparty/protocol/wl-eglstream-controller.xml +) + +#### Keys ignored in scope 1:.:.:wayland-eglstream-controller.pro:<TRUE>: +# OTHER_FILES = "wayland-eglstream-controller.json" diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-egl/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/xcomposite-egl/CMakeLists.txt new file mode 100644 index 000000000..76dee2845 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/xcomposite-egl/CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from xcomposite-egl.pro. + +##################################################################### +## qt-wayland-compositor-xcomposite-egl Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-xcomposite-egl + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandXCompositeEglClientBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.cpp ../../../../hardwareintegration/compositor/xcomposite-egl/xcompositeeglintegration.h + ../../../../hardwareintegration/compositor/xcomposite_share/xcompositebuffer.cpp ../../../../hardwareintegration/compositor/xcomposite_share/xcompositebuffer.h + ../../../../hardwareintegration/compositor/xcomposite_share/xcompositehandler.cpp ../../../../hardwareintegration/compositor/xcomposite_share/xcompositehandler.h + ../../../../hardwareintegration/compositor/xcomposite_share/xlibinclude.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/xcomposite-egl + ../../../../hardwareintegration/compositor/xcomposite_share + LIBRARIES + EGL::EGL + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + X11::X11 + PUBLIC_LIBRARIES + PkgConfig::XComposite + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-xcomposite-egl + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/xcomposite_share/../../../3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:xcomposite-egl.pro:<TRUE>: +# OTHER_FILES = "xcomposite-egl.json" diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-glx/.prev_CMakeLists.txt b/src/plugins/hardwareintegration/compositor/xcomposite-glx/.prev_CMakeLists.txt new file mode 100644 index 000000000..450a9df77 --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/xcomposite-glx/.prev_CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from xcomposite-glx.pro. + +##################################################################### +## qt-wayland-compositor-xcomposite-glx Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-xcomposite-glx + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandXCompositeGlxClientBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.cpp ../../../../hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.h + ../../../../hardwareintegration/compositor/xcomposite_share/xcompositebuffer.cpp ../../../../hardwareintegration/compositor/xcomposite_share/xcompositebuffer.h + ../../../../hardwareintegration/compositor/xcomposite_share/xcompositehandler.cpp ../../../../hardwareintegration/compositor/xcomposite_share/xcompositehandler.h + ../../../../hardwareintegration/compositor/xcomposite_share/xlibinclude.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/xcomposite-glx + ../../../../hardwareintegration/compositor/xcomposite_share + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + PkgConfig::XComposite + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-xcomposite-glx + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/xcomposite_share/../../../3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:xcomposite-glx.pro:<TRUE>: +# OTHER_FILES = "xcomposite-glx.json" diff --git a/src/plugins/hardwareintegration/compositor/xcomposite-glx/CMakeLists.txt b/src/plugins/hardwareintegration/compositor/xcomposite-glx/CMakeLists.txt new file mode 100644 index 000000000..ecb8066de --- /dev/null +++ b/src/plugins/hardwareintegration/compositor/xcomposite-glx/CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from xcomposite-glx.pro. + +##################################################################### +## qt-wayland-compositor-xcomposite-glx Plugin: +##################################################################### + +qt_add_plugin(qt-wayland-compositor-xcomposite-glx + TYPE wayland-graphics-integration-server + CLASS_NAME QWaylandXCompositeGlxClientBufferIntegrationPlugin + SOURCES + ../../../../hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.cpp ../../../../hardwareintegration/compositor/xcomposite-glx/xcompositeglxintegration.h + ../../../../hardwareintegration/compositor/xcomposite_share/xcompositebuffer.cpp ../../../../hardwareintegration/compositor/xcomposite_share/xcompositebuffer.h + ../../../../hardwareintegration/compositor/xcomposite_share/xcompositehandler.cpp ../../../../hardwareintegration/compositor/xcomposite_share/xcompositehandler.h + ../../../../hardwareintegration/compositor/xcomposite_share/xlibinclude.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../hardwareintegration/compositor/xcomposite-glx + ../../../../hardwareintegration/compositor/xcomposite_share + LIBRARIES + Qt::CorePrivate + Qt::GlxSupportPrivate # special case + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + Wayland::Server + PUBLIC_LIBRARIES + PkgConfig::XComposite + Qt::Core + Qt::Gui + Qt::WaylandCompositor +) + +qt6_generate_wayland_protocol_server_sources(qt-wayland-compositor-xcomposite-glx + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/xcomposite_share/../../../3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../hardwareintegration/compositor/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:xcomposite-glx.pro:<TRUE>: +# OTHER_FILES = "xcomposite-glx.json" diff --git a/src/plugins/platforms/CMakeLists.txt b/src/plugins/platforms/CMakeLists.txt new file mode 100644 index 000000000..68a49e4c7 --- /dev/null +++ b/src/plugins/platforms/CMakeLists.txt @@ -0,0 +1,15 @@ +# Generated from platforms.pro. + +add_subdirectory(qwayland-generic) +if(QT_FEATURE_wayland_egl) + add_subdirectory(qwayland-egl) +endif() +if(QT_FEATURE_wayland_brcm) + add_subdirectory(qwayland-brcm-egl) +endif() +if(QT_FEATURE_xcomposite_egl) + add_subdirectory(qwayland-xcomposite-egl) +endif() +if(QT_FEATURE_xcomposite_glx) + add_subdirectory(qwayland-xcomposite-glx) +endif() diff --git a/src/plugins/platforms/qwayland-brcm-egl/CMakeLists.txt b/src/plugins/platforms/qwayland-brcm-egl/CMakeLists.txt new file mode 100644 index 000000000..ed42a728d --- /dev/null +++ b/src/plugins/platforms/qwayland-brcm-egl/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from qwayland-brcm-egl.pro. + +##################################################################### +## qwayland-brcm-egl Plugin: +##################################################################### + +qt_add_plugin(qwayland-brcm-egl + TYPE platforms + CLASS_NAME QWaylandBrcmEglPlatformIntegrationPlugin + SOURCES + ../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.cpp ../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h + ../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.cpp ../../../hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h + ../../../hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.cpp ../../../hardwareintegration/client/brcm-egl/qwaylandbrcmglcontext.h + main.cpp + INCLUDE_DIRECTORIES + ../../../hardwareintegration/client/brcm-egl + LIBRARIES + Qt::EglSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + ${CMAKE_DL_LIBS} + EGL::EGL + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(qwayland-brcm-egl + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../hardwareintegration/client/brcm-egl/../../../extensions/brcm.xml +) + +#### Keys ignored in scope 1:.:.:qwayland-brcm-egl.pro:<TRUE>: +# OTHER_FILES = "qwayland-brcm-egl.json" diff --git a/src/plugins/platforms/qwayland-egl/CMakeLists.txt b/src/plugins/platforms/qwayland-egl/CMakeLists.txt new file mode 100644 index 000000000..03cfdfcc3 --- /dev/null +++ b/src/plugins/platforms/qwayland-egl/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from qwayland-egl.pro. + +##################################################################### +## qwayland-egl Plugin: +##################################################################### + +qt_add_plugin(qwayland-egl + TYPE platforms + CLASS_NAME QWaylandEglPlatformIntegrationPlugin + SOURCES + ../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp ../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h + ../../../hardwareintegration/client/wayland-egl/qwaylandeglinclude.h + ../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp ../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.h + ../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp ../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.h + main.cpp + INCLUDE_DIRECTORIES + ../../../hardwareintegration/client/wayland-egl + LIBRARIES + Qt::EglSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Egl +) + +#### Keys ignored in scope 1:.:.:qwayland-egl.pro:<TRUE>: +# OTHER_FILES = "qwayland-egl.json" diff --git a/src/plugins/platforms/qwayland-generic/.prev_CMakeLists.txt b/src/plugins/platforms/qwayland-generic/.prev_CMakeLists.txt new file mode 100644 index 000000000..d3d71e3fe --- /dev/null +++ b/src/plugins/platforms/qwayland-generic/.prev_CMakeLists.txt @@ -0,0 +1,21 @@ +# Generated from qwayland-generic.pro. + +##################################################################### +## qwayland-generic Plugin: +##################################################################### + +qt_add_plugin(qwayland-generic + TYPE platforms + CLASS_NAME QWaylandIntegrationPlugin + SOURCES + main.cpp + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient +) + +#### Keys ignored in scope 1:.:.:qwayland-generic.pro:<TRUE>: +# OTHER_FILES = "qwayland-generic.json" diff --git a/src/plugins/platforms/qwayland-generic/CMakeLists.txt b/src/plugins/platforms/qwayland-generic/CMakeLists.txt new file mode 100644 index 000000000..e512e5b05 --- /dev/null +++ b/src/plugins/platforms/qwayland-generic/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from qwayland-generic.pro. + +##################################################################### +## qwayland-generic Plugin: +##################################################################### + +qt_add_plugin(qwayland-generic + TYPE platforms + CLASS_NAME QWaylandIntegrationPlugin + DEFAULT_IF ${QT_QPA_DEFAULT_PLATFORM} MATCHES wayland # special case + SOURCES + main.cpp + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient +) + +#### Keys ignored in scope 1:.:.:qwayland-generic.pro:<TRUE>: +# OTHER_FILES = "qwayland-generic.json" diff --git a/src/plugins/platforms/qwayland-xcomposite-egl/CMakeLists.txt b/src/plugins/platforms/qwayland-xcomposite-egl/CMakeLists.txt new file mode 100644 index 000000000..c0dbf5368 --- /dev/null +++ b/src/plugins/platforms/qwayland-xcomposite-egl/CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from qwayland-xcomposite-egl.pro. + +##################################################################### +## qwayland-xcomposite-egl Plugin: +##################################################################### + +qt_add_plugin(qwayland-xcomposite-egl + TYPE platforms + CLASS_NAME QWaylandXCompositeEglPlatformIntegrationPlugin + SOURCES + ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.cpp ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglclientbufferintegration.h + ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.cpp ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglcontext.h + ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.cpp ../../../hardwareintegration/client/xcomposite-egl/qwaylandxcompositeeglwindow.h + ../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.cpp ../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.h + main.cpp + INCLUDE_DIRECTORIES + ../../../hardwareintegration/client/xcomposite-egl + ../../../hardwareintegration/client/xcomposite_share + LIBRARIES + Qt::EglSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + EGL::EGL + PkgConfig::XComposite + Qt::Core + Qt::EglSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client + X11::X11 +) + +qt6_generate_wayland_protocol_client_sources(qwayland-xcomposite-egl + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../hardwareintegration/client/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:qwayland-xcomposite-egl.pro:<TRUE>: +# OTHER_FILES = "qwayland-xcomposite-egl.json" diff --git a/src/plugins/platforms/qwayland-xcomposite-glx/CMakeLists.txt b/src/plugins/platforms/qwayland-xcomposite-glx/CMakeLists.txt new file mode 100644 index 000000000..ac8dce830 --- /dev/null +++ b/src/plugins/platforms/qwayland-xcomposite-glx/CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from qwayland-xcomposite-glx.pro. + +##################################################################### +## qwayland-xcomposite-glx Plugin: +##################################################################### + +qt_add_plugin(qwayland-xcomposite-glx + TYPE platforms + CLASS_NAME QWaylandXCompositeGlxPlatformIntegrationPlugin + SOURCES + ../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.cpp ../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxcontext.h + ../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.cpp ../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxintegration.h + ../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.cpp ../../../hardwareintegration/client/xcomposite-glx/qwaylandxcompositeglxwindow.h + ../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.cpp ../../../hardwareintegration/client/xcomposite_share/qwaylandxcompositebuffer.h + main.cpp + qwaylandxcompositeglxplatformintegration.h + INCLUDE_DIRECTORIES + ../../../hardwareintegration/client/xcomposite-glx + ../../../hardwareintegration/client/xcomposite_share + LIBRARIES + Qt::GlxSupportPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + ${CMAKE_DL_LIBS} + PkgConfig::XComposite + Qt::Core + Qt::GlxSupport + Qt::Gui + Qt::WaylandClient + Wayland::Client + X11::X11 +) + +qt6_generate_wayland_protocol_client_sources(qwayland-xcomposite-glx + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../hardwareintegration/client/xcomposite_share/../../../extensions/xcomposite.xml +) + +#### Keys ignored in scope 1:.:.:qwayland-xcomposite-glx.pro:<TRUE>: +# OTHER_FILES = "qwayland-xcomposite-glx.json" diff --git a/src/plugins/shellintegration/CMakeLists.txt b/src/plugins/shellintegration/CMakeLists.txt new file mode 100644 index 000000000..03364328c --- /dev/null +++ b/src/plugins/shellintegration/CMakeLists.txt @@ -0,0 +1,20 @@ +# Generated from shellintegration.pro. + +if(QT_FEATURE_wayland_client_fullscreen_shell_v1) + add_subdirectory(fullscreen-shell-v1) +endif() +if(QT_FEATURE_wayland_client_ivi_shell) + add_subdirectory(ivi-shell) +endif() +if(QT_FEATURE_wayland_client_wl_shell) + add_subdirectory(wl-shell) +endif() +if(QT_FEATURE_wayland_client_xdg_shell) + add_subdirectory(xdg-shell) +endif() +if(QT_FEATURE_wayland_client_xdg_shell_v5) + add_subdirectory(xdg-shell-v5) +endif() +if(QT_FEATURE_wayland_client_xdg_shell_v6) + add_subdirectory(xdg-shell-v6) +endif() diff --git a/src/plugins/shellintegration/fullscreen-shell-v1/CMakeLists.txt b/src/plugins/shellintegration/fullscreen-shell-v1/CMakeLists.txt new file mode 100644 index 000000000..7cc47c757 --- /dev/null +++ b/src/plugins/shellintegration/fullscreen-shell-v1/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from fullscreen-shell-v1.pro. + +##################################################################### +## fullscreen-shell-v1 Plugin: +##################################################################### + +qt_add_plugin(fullscreen-shell-v1 + TYPE wayland-shell-integration + CLASS_NAME QWaylandFullScreenShellV1IntegrationPlugin + SOURCES + main.cpp + qwaylandfullscreenshellv1integration.cpp qwaylandfullscreenshellv1integration.h + qwaylandfullscreenshellv1surface.cpp qwaylandfullscreenshellv1surface.h + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(fullscreen-shell-v1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/fullscreen-shell-unstable-v1.xml +) + +#### Keys ignored in scope 1:.:.:fullscreen-shell-v1.pro:<TRUE>: +# OTHER_FILES = "fullscreen-shell-v1.json" diff --git a/src/plugins/shellintegration/ivi-shell/CMakeLists.txt b/src/plugins/shellintegration/ivi-shell/CMakeLists.txt new file mode 100644 index 000000000..214c5ee66 --- /dev/null +++ b/src/plugins/shellintegration/ivi-shell/CMakeLists.txt @@ -0,0 +1,39 @@ +# Generated from ivi-shell.pro. + +##################################################################### +## ivi-shell Plugin: +##################################################################### + +qt_add_plugin(ivi-shell + TYPE wayland-shell-integration + CLASS_NAME QWaylandIviShellIntegrationPlugin + SOURCES + main.cpp + qwaylandivishellintegration.cpp qwaylandivishellintegration.h + qwaylandivisurface.cpp qwaylandivisurface_p.h + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(ivi-shell + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/ivi-controller.xml +) + +#### Keys ignored in scope 1:.:.:ivi-shell.pro:<TRUE>: +# OTHER_FILES = "ivi-shell.json" + +## Scopes: +##################################################################### + +qt_extend_target(ivi-shell CONDITION QT_FEATURE_xkbcommon + PUBLIC_LIBRARIES + XKB::XKB +) diff --git a/src/plugins/shellintegration/wl-shell/CMakeLists.txt b/src/plugins/shellintegration/wl-shell/CMakeLists.txt new file mode 100644 index 000000000..858915242 --- /dev/null +++ b/src/plugins/shellintegration/wl-shell/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from wl-shell.pro. + +##################################################################### +## wl-shell Plugin: +##################################################################### + +qt_add_plugin(wl-shell + TYPE wayland-shell-integration + CLASS_NAME QWaylandWlShellIntegrationPlugin + SOURCES + main.cpp + qwaylandwlshellintegration.cpp qwaylandwlshellintegration_p.h + qwaylandwlshellsurface.cpp qwaylandwlshellsurface_p.h + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(wl-shell + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/wayland.xml +) + +#### Keys ignored in scope 1:.:.:wl-shell.pro:<TRUE>: +# OTHER_FILES = "wl-shell.json" + +## Scopes: +##################################################################### + +qt_extend_target(wl-shell CONDITION QT_FEATURE_xkbcommon + LIBRARIES + XKB::XKB +) diff --git a/src/plugins/shellintegration/xdg-shell-v5/CMakeLists.txt b/src/plugins/shellintegration/xdg-shell-v5/CMakeLists.txt new file mode 100644 index 000000000..3fa2ba746 --- /dev/null +++ b/src/plugins/shellintegration/xdg-shell-v5/CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from xdg-shell-v5.pro. + +##################################################################### +## xdg-shell-v5 Plugin: +##################################################################### + +qt_add_plugin(xdg-shell-v5 + TYPE wayland-shell-integration + CLASS_NAME QWaylandXdgShellV5IntegrationPlugin + SOURCES + main.cpp + pregenerated/3rdparty/qwayland-xdg-shell-unstable-v5.cpp pregenerated/3rdparty/qwayland-xdg-shell-unstable-v5_p.h + pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-client-protocol_p.h + pregenerated/3rdparty/wayland-xdg-shell-unstable-v5-protocol.c + qwaylandxdgpopupv5.cpp qwaylandxdgpopupv5_p.h + qwaylandxdgshellv5.cpp qwaylandxdgshellv5_p.h + qwaylandxdgshellv5integration.cpp qwaylandxdgshellv5integration_p.h + qwaylandxdgsurfacev5.cpp qwaylandxdgsurfacev5_p.h + INCLUDE_DIRECTORIES + pregenerated/3rdparty + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +#### Keys ignored in scope 1:.:.:xdg-shell-v5.pro:<TRUE>: +# OTHER_FILES = "xdg-shell-v5.json" + +## Scopes: +##################################################################### + +qt_extend_target(xdg-shell-v5 CONDITION QT_FEATURE_xkbcommon + PUBLIC_LIBRARIES + XKB::XKB +) diff --git a/src/plugins/shellintegration/xdg-shell-v6/CMakeLists.txt b/src/plugins/shellintegration/xdg-shell-v6/CMakeLists.txt new file mode 100644 index 000000000..d6fa7dd6a --- /dev/null +++ b/src/plugins/shellintegration/xdg-shell-v6/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from xdg-shell-v6.pro. + +##################################################################### +## xdg-shell-v6 Plugin: +##################################################################### + +qt_add_plugin(xdg-shell-v6 + TYPE wayland-shell-integration + CLASS_NAME QWaylandXdgShellV6IntegrationPlugin + SOURCES + main.cpp + qwaylandxdgshellv6.cpp qwaylandxdgshellv6_p.h + qwaylandxdgshellv6integration.cpp qwaylandxdgshellv6integration_p.h + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(xdg-shell-v6 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-shell-unstable-v6.xml +) + +#### Keys ignored in scope 1:.:.:xdg-shell-v6.pro:<TRUE>: +# OTHER_FILES = "xdg-shell-v6.json" + +## Scopes: +##################################################################### + +qt_extend_target(xdg-shell-v6 CONDITION QT_FEATURE_xkbcommon + LIBRARIES + XKB::XKB +) diff --git a/src/plugins/shellintegration/xdg-shell/CMakeLists.txt b/src/plugins/shellintegration/xdg-shell/CMakeLists.txt new file mode 100644 index 000000000..96a02fc7f --- /dev/null +++ b/src/plugins/shellintegration/xdg-shell/CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from xdg-shell.pro. + +##################################################################### +## xdg-shell Plugin: +##################################################################### + +qt_add_plugin(xdg-shell + TYPE wayland-shell-integration + CLASS_NAME QWaylandXdgShellIntegrationPlugin + SOURCES + main.cpp + qwaylandxdgdecorationv1.cpp qwaylandxdgdecorationv1_p.h + qwaylandxdgshell.cpp qwaylandxdgshell_p.h + qwaylandxdgshellintegration.cpp qwaylandxdgshellintegration_p.h + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Core + Qt::Gui + Qt::WaylandClient + Wayland::Client +) + +qt6_generate_wayland_protocol_client_sources(xdg-shell + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-decoration-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../3rdparty/protocol/xdg-shell.xml +) + +#### Keys ignored in scope 1:.:.:xdg-shell.pro:<TRUE>: +# OTHER_FILES = "xdg-shell.json" + +## Scopes: +##################################################################### + +qt_extend_target(xdg-shell CONDITION QT_FEATURE_xkbcommon + LIBRARIES + XKB::XKB +) diff --git a/src/qtwaylandscanner/CMakeLists.txt b/src/qtwaylandscanner/CMakeLists.txt new file mode 100644 index 000000000..107702c31 --- /dev/null +++ b/src/qtwaylandscanner/CMakeLists.txt @@ -0,0 +1,16 @@ +# Generated from qtwaylandscanner.pro. + +##################################################################### +## qtwaylandscanner Tool: +##################################################################### + +qt_add_tool(qtwaylandscanner + TOOLS_TARGET QtWaylandScanner # special case + SOURCES + qtwaylandscanner.cpp + PUBLIC_LIBRARIES + Qt::Gui +) + +#### Keys ignored in scope 1:.:.:qtwaylandscanner.pro:<TRUE>: +# _OPTION = "host_build" diff --git a/tests/.prev_CMakeLists.txt b/tests/.prev_CMakeLists.txt new file mode 100644 index 000000000..221413713 --- /dev/null +++ b/tests/.prev_CMakeLists.txt @@ -0,0 +1,7 @@ +# Generated from tests.pro. + +if(QT_BUILD_STANDALONE_TESTS) + # Add qt_find_package calls for extra dependencies that need to be found when building + # the standalone tests here. +endif() +qt_build_tests() diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt new file mode 100644 index 000000000..57d928bf6 --- /dev/null +++ b/tests/CMakeLists.txt @@ -0,0 +1,22 @@ +# Generated from tests.pro. + +if(QT_BUILD_STANDALONE_TESTS) + # Add qt_find_package calls for extra dependencies that need to be found when building + # the standalone tests here. + # special case begin + qt_find_package(Qt6 ${PROJECT_VERSION} OPTIONAL_COMPONENTS WaylandCompositor WaylandClient QtWaylandScannerTools) + + if (NOT Qt6QtWaylandScannerTools_FOUND) + message(WARNING "QtWaylandTests is missing required components, nothing will be built. \ + Although this could be considered an error, the configuration will still pass as coin (Qt's \ + continuous integration system) will fail the build if configure fails, but will still try to \ + configure the module on targets that are missing dependencies.") + return() + endif() + + # TODO: Why do we need this? shouldn't find_package for QtWaylandScannerTools be enough? + qt_find_package(WaylandScanner PROVIDED_TARGETS Wayland::Scanner) + # special case end +endif() +qt_find_package(Threads REQUIRED) # special case +qt_build_tests() diff --git a/tests/auto/.prev_CMakeLists.txt b/tests/auto/.prev_CMakeLists.txt new file mode 100644 index 000000000..15a50eb6d --- /dev/null +++ b/tests/auto/.prev_CMakeLists.txt @@ -0,0 +1,11 @@ +# Generated from auto.pro. + +if(TARGET Qt::WaylandClient) + add_subdirectory(client) +endif() +if(TARGET Qt::WaylandClient AND TARGET Qt::WaylandCompositor) + add_subdirectory(cmake) +endif() +if(TARGET Qt::WaylandCompositor) + add_subdirectory(compositor) +endif() diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt new file mode 100644 index 000000000..763b7cd4d --- /dev/null +++ b/tests/auto/CMakeLists.txt @@ -0,0 +1,11 @@ +# Generated from auto.pro. + +if(TARGET Qt::WaylandClient) + add_subdirectory(client) +endif() +if(TARGET Qt::WaylandClient AND TARGET Qt::WaylandCompositor) + #add_subdirectory(cmake) # special case +endif() +if(TARGET Qt::WaylandCompositor) + add_subdirectory(compositor) +endif() diff --git a/tests/auto/client/CMakeLists.txt b/tests/auto/client/CMakeLists.txt new file mode 100644 index 000000000..bd18ec3e1 --- /dev/null +++ b/tests/auto/client/CMakeLists.txt @@ -0,0 +1,19 @@ +# Generated from client.pro. + +add_subdirectory(client) +add_subdirectory(datadevicev1) +add_subdirectory(fullscreenshellv1) +add_subdirectory(iviapplication) +add_subdirectory(output) +add_subdirectory(primaryselectionv1) +add_subdirectory(seatv4) +add_subdirectory(seatv5) +add_subdirectory(surface) +add_subdirectory(wl_connect) +add_subdirectory(xdgdecorationv1) +add_subdirectory(xdgoutput) +add_subdirectory(xdgshell) +add_subdirectory(xdgshellv6) +if(QT_FEATURE_im) + add_subdirectory(inputcontext) +endif() diff --git a/tests/auto/client/client/.prev_CMakeLists.txt b/tests/auto/client/client/.prev_CMakeLists.txt new file mode 100644 index 000000000..6fe4bb92d --- /dev/null +++ b/tests/auto/client/client/.prev_CMakeLists.txt @@ -0,0 +1,40 @@ +# Generated from client.pro. + +##################################################################### +## tst_client Test: +##################################################################### + +qt_add_test(tst_client + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_client.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_client + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) + +#### Keys ignored in scope 1:.:.:client.pro:<TRUE>: +# check.commands = "$(TESTRUNNER)" "$${PWD}/run-with-all-shells.sh" "$(TESTARGS)" diff --git a/tests/auto/client/client/CMakeLists.txt b/tests/auto/client/client/CMakeLists.txt new file mode 100644 index 000000000..a20ea811c --- /dev/null +++ b/tests/auto/client/client/CMakeLists.txt @@ -0,0 +1,41 @@ +# Generated from client.pro. + +##################################################################### +## tst_client Test: +##################################################################### + +qt_add_test(tst_client + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_client.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_client + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) + +#### Keys ignored in scope 1:.:.:client.pro:<TRUE>: +# check.commands = "$(TESTRUNNER)" "$${PWD}/run-with-all-shells.sh" "$(TESTARGS)" diff --git a/tests/auto/client/datadevicev1/.prev_CMakeLists.txt b/tests/auto/client/datadevicev1/.prev_CMakeLists.txt new file mode 100644 index 000000000..bfea14349 --- /dev/null +++ b/tests/auto/client/datadevicev1/.prev_CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from datadevicev1.pro. + +##################################################################### +## tst_datadevicev1 Test: +##################################################################### + +qt_add_test(tst_datadevicev1 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_datadevicev1.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_datadevicev1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/datadevicev1/CMakeLists.txt b/tests/auto/client/datadevicev1/CMakeLists.txt new file mode 100644 index 000000000..ad58772d4 --- /dev/null +++ b/tests/auto/client/datadevicev1/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from datadevicev1.pro. + +##################################################################### +## tst_datadevicev1 Test: +##################################################################### + +qt_add_test(tst_datadevicev1 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_datadevicev1.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_datadevicev1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/fullscreenshellv1/.prev_CMakeLists.txt b/tests/auto/client/fullscreenshellv1/.prev_CMakeLists.txt new file mode 100644 index 000000000..5daef3bb3 --- /dev/null +++ b/tests/auto/client/fullscreenshellv1/.prev_CMakeLists.txt @@ -0,0 +1,37 @@ +# Generated from fullscreenshellv1.pro. + +##################################################################### +## tst_client_fullscreenshellv1 Test: +##################################################################### + +qt_add_test(tst_client_fullscreenshellv1 + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_fullscreenshellv1.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_client_fullscreenshellv1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) diff --git a/tests/auto/client/fullscreenshellv1/CMakeLists.txt b/tests/auto/client/fullscreenshellv1/CMakeLists.txt new file mode 100644 index 000000000..00348df99 --- /dev/null +++ b/tests/auto/client/fullscreenshellv1/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from fullscreenshellv1.pro. + +##################################################################### +## tst_client_fullscreenshellv1 Test: +##################################################################### + +qt_add_test(tst_client_fullscreenshellv1 + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_fullscreenshellv1.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_client_fullscreenshellv1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) diff --git a/tests/auto/client/inputcontext/.prev_CMakeLists.txt b/tests/auto/client/inputcontext/.prev_CMakeLists.txt new file mode 100644 index 000000000..d5df86a13 --- /dev/null +++ b/tests/auto/client/inputcontext/.prev_CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from inputcontext.pro. + +##################################################################### +## tst_inputcontext Test: +##################################################################### + +qt_add_test(tst_inputcontext + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_inputcontext.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_inputcontext + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/inputcontext/CMakeLists.txt b/tests/auto/client/inputcontext/CMakeLists.txt new file mode 100644 index 000000000..dfa788b31 --- /dev/null +++ b/tests/auto/client/inputcontext/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from inputcontext.pro. + +##################################################################### +## tst_inputcontext Test: +##################################################################### + +qt_add_test(tst_inputcontext + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_inputcontext.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_inputcontext + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/iviapplication/.prev_CMakeLists.txt b/tests/auto/client/iviapplication/.prev_CMakeLists.txt new file mode 100644 index 000000000..4193ba9b0 --- /dev/null +++ b/tests/auto/client/iviapplication/.prev_CMakeLists.txt @@ -0,0 +1,37 @@ +# Generated from iviapplication.pro. + +##################################################################### +## tst_client_iviapplication Test: +##################################################################### + +qt_add_test(tst_client_iviapplication + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_iviapplication.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_client_iviapplication + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) diff --git a/tests/auto/client/iviapplication/CMakeLists.txt b/tests/auto/client/iviapplication/CMakeLists.txt new file mode 100644 index 000000000..38111c95e --- /dev/null +++ b/tests/auto/client/iviapplication/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from iviapplication.pro. + +##################################################################### +## tst_client_iviapplication Test: +##################################################################### + +qt_add_test(tst_client_iviapplication + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_iviapplication.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_client_iviapplication + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) diff --git a/tests/auto/client/output/.prev_CMakeLists.txt b/tests/auto/client/output/.prev_CMakeLists.txt new file mode 100644 index 000000000..8595888e9 --- /dev/null +++ b/tests/auto/client/output/.prev_CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from output.pro. + +##################################################################### +## tst_output Test: +##################################################################### + +qt_add_test(tst_output + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_output.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_output + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/output/CMakeLists.txt b/tests/auto/client/output/CMakeLists.txt new file mode 100644 index 000000000..c453ac424 --- /dev/null +++ b/tests/auto/client/output/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from output.pro. + +##################################################################### +## tst_output Test: +##################################################################### + +qt_add_test(tst_output + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_output.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_output + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/primaryselectionv1/.prev_CMakeLists.txt b/tests/auto/client/primaryselectionv1/.prev_CMakeLists.txt new file mode 100644 index 000000000..77a994dd4 --- /dev/null +++ b/tests/auto/client/primaryselectionv1/.prev_CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from primaryselectionv1.pro. + +##################################################################### +## tst_primaryselectionv1 Test: +##################################################################### + +qt_add_test(tst_primaryselectionv1 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_primaryselectionv1.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_primaryselectionv1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wp-primary-selection-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/primaryselectionv1/CMakeLists.txt b/tests/auto/client/primaryselectionv1/CMakeLists.txt new file mode 100644 index 000000000..af9122343 --- /dev/null +++ b/tests/auto/client/primaryselectionv1/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from primaryselectionv1.pro. + +##################################################################### +## tst_primaryselectionv1 Test: +##################################################################### + +qt_add_test(tst_primaryselectionv1 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_primaryselectionv1.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_primaryselectionv1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wp-primary-selection-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/seatv4/.prev_CMakeLists.txt b/tests/auto/client/seatv4/.prev_CMakeLists.txt new file mode 100644 index 000000000..ab7eb380f --- /dev/null +++ b/tests/auto/client/seatv4/.prev_CMakeLists.txt @@ -0,0 +1,42 @@ +# Generated from seatv4.pro. + +##################################################################### +## tst_seatv4 Test: +##################################################################### + +qt_add_test(tst_seatv4 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_seatv4.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_seatv4 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_seatv4 CONDITION QT_FEATURE_cursor + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Wayland::Cursor +) diff --git a/tests/auto/client/seatv4/CMakeLists.txt b/tests/auto/client/seatv4/CMakeLists.txt new file mode 100644 index 000000000..bd14a6a8b --- /dev/null +++ b/tests/auto/client/seatv4/CMakeLists.txt @@ -0,0 +1,43 @@ +# Generated from seatv4.pro. + +##################################################################### +## tst_seatv4 Test: +##################################################################### + +qt_add_test(tst_seatv4 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_seatv4.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_seatv4 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_seatv4 CONDITION QT_FEATURE_cursor + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Wayland::Cursor +) diff --git a/tests/auto/client/seatv5/.prev_CMakeLists.txt b/tests/auto/client/seatv5/.prev_CMakeLists.txt new file mode 100644 index 000000000..778c42c0b --- /dev/null +++ b/tests/auto/client/seatv5/.prev_CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from seatv5.pro. + +##################################################################### +## tst_seatv5 Test: +##################################################################### + +qt_add_test(tst_seatv5 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_seatv5.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_seatv5 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/seatv5/CMakeLists.txt b/tests/auto/client/seatv5/CMakeLists.txt new file mode 100644 index 000000000..38c5d980f --- /dev/null +++ b/tests/auto/client/seatv5/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from seatv5.pro. + +##################################################################### +## tst_seatv5 Test: +##################################################################### + +qt_add_test(tst_seatv5 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_seatv5.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_seatv5 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/surface/.prev_CMakeLists.txt b/tests/auto/client/surface/.prev_CMakeLists.txt new file mode 100644 index 000000000..bb7289286 --- /dev/null +++ b/tests/auto/client/surface/.prev_CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from surface.pro. + +##################################################################### +## tst_surface Test: +##################################################################### + +qt_add_test(tst_surface + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_surface.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_surface + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/surface/CMakeLists.txt b/tests/auto/client/surface/CMakeLists.txt new file mode 100644 index 000000000..1470f414e --- /dev/null +++ b/tests/auto/client/surface/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from surface.pro. + +##################################################################### +## tst_surface Test: +##################################################################### + +qt_add_test(tst_surface + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_surface.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_surface + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/wl_connect/CMakeLists.txt b/tests/auto/client/wl_connect/CMakeLists.txt new file mode 100644 index 000000000..5ad3ac6a4 --- /dev/null +++ b/tests/auto/client/wl_connect/CMakeLists.txt @@ -0,0 +1,14 @@ +# Generated from wl_connect.pro. + +##################################################################### +## tst_wlconnect Test: +##################################################################### + +qt_add_test(tst_wlconnect + SOURCES + tst_wlconnect.cpp + LIBRARIES + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui +) diff --git a/tests/auto/client/xdgdecorationv1/.prev_CMakeLists.txt b/tests/auto/client/xdgdecorationv1/.prev_CMakeLists.txt new file mode 100644 index 000000000..a73e1055c --- /dev/null +++ b/tests/auto/client/xdgdecorationv1/.prev_CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from xdgdecorationv1.pro. + +##################################################################### +## tst_xdgdecorationv1 Test: +##################################################################### + +qt_add_test(tst_xdgdecorationv1 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_xdgdecorationv1.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_xdgdecorationv1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-decoration-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/xdgdecorationv1/CMakeLists.txt b/tests/auto/client/xdgdecorationv1/CMakeLists.txt new file mode 100644 index 000000000..5d26b7fc8 --- /dev/null +++ b/tests/auto/client/xdgdecorationv1/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from xdgdecorationv1.pro. + +##################################################################### +## tst_xdgdecorationv1 Test: +##################################################################### + +qt_add_test(tst_xdgdecorationv1 + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_xdgdecorationv1.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_xdgdecorationv1 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-decoration-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/xdgoutput/.prev_CMakeLists.txt b/tests/auto/client/xdgoutput/.prev_CMakeLists.txt new file mode 100644 index 000000000..1a3afc1e2 --- /dev/null +++ b/tests/auto/client/xdgoutput/.prev_CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from xdgoutput.pro. + +##################################################################### +## tst_xdgoutput Test: +##################################################################### + +qt_add_test(tst_xdgoutput + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_xdgoutput.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_xdgoutput + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/xdgoutput/CMakeLists.txt b/tests/auto/client/xdgoutput/CMakeLists.txt new file mode 100644 index 000000000..855268c94 --- /dev/null +++ b/tests/auto/client/xdgoutput/CMakeLists.txt @@ -0,0 +1,33 @@ +# Generated from xdgoutput.pro. + +##################################################################### +## tst_xdgoutput Test: +##################################################################### + +qt_add_test(tst_xdgoutput + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_xdgoutput.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_xdgoutput + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/xdgshell/.prev_CMakeLists.txt b/tests/auto/client/xdgshell/.prev_CMakeLists.txt new file mode 100644 index 000000000..4dc670e9d --- /dev/null +++ b/tests/auto/client/xdgshell/.prev_CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from xdgshell.pro. + +##################################################################### +## tst_xdgshell Test: +##################################################################### + +qt_add_test(tst_xdgshell + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_xdgshell.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_xdgshell + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/xdgshell/CMakeLists.txt b/tests/auto/client/xdgshell/CMakeLists.txt new file mode 100644 index 000000000..025013e9f --- /dev/null +++ b/tests/auto/client/xdgshell/CMakeLists.txt @@ -0,0 +1,32 @@ +# Generated from xdgshell.pro. + +##################################################################### +## tst_xdgshell Test: +##################################################################### + +qt_add_test(tst_xdgshell + SOURCES + ../shared/corecompositor.cpp ../shared/corecompositor.h + ../shared/coreprotocol.cpp ../shared/coreprotocol.h + ../shared/datadevice.cpp ../shared/datadevice.h + ../shared/mockcompositor.cpp ../shared/mockcompositor.h + ../shared/textinput.cpp ../shared/textinput.h + ../shared/xdgshell.cpp ../shared/xdgshell.h + tst_xdgshell.cpp + INCLUDE_DIRECTORIES + ../shared + LIBRARIES + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_xdgshell + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/text-input-unstable-v2.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../shared/../../../../src/3rdparty/protocol/xdg-shell.xml +) diff --git a/tests/auto/client/xdgshellv6/.prev_CMakeLists.txt b/tests/auto/client/xdgshellv6/.prev_CMakeLists.txt new file mode 100644 index 000000000..ee3514f58 --- /dev/null +++ b/tests/auto/client/xdgshellv6/.prev_CMakeLists.txt @@ -0,0 +1,37 @@ +# Generated from xdgshellv6.pro. + +##################################################################### +## tst_client_xdgshellv6 Test: +##################################################################### + +qt_add_test(tst_client_xdgshellv6 + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_xdgshellv6.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server +) + +qt6_generate_wayland_protocol_server_sources(tst_client_xdgshellv6 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) diff --git a/tests/auto/client/xdgshellv6/CMakeLists.txt b/tests/auto/client/xdgshellv6/CMakeLists.txt new file mode 100644 index 000000000..fe3588899 --- /dev/null +++ b/tests/auto/client/xdgshellv6/CMakeLists.txt @@ -0,0 +1,38 @@ +# Generated from xdgshellv6.pro. + +##################################################################### +## tst_client_xdgshellv6 Test: +##################################################################### + +qt_add_test(tst_client_xdgshellv6 + SOURCES + ../shared_old/mockcompositor.cpp ../shared_old/mockcompositor.h + ../shared_old/mockfullscreenshellv1.cpp ../shared_old/mockfullscreenshellv1.h + ../shared_old/mockinput.cpp ../shared_old/mockinput.h + ../shared_old/mockiviapplication.cpp ../shared_old/mockiviapplication.h + ../shared_old/mockoutput.cpp ../shared_old/mockoutput.h + ../shared_old/mocksurface.cpp ../shared_old/mocksurface.h + ../shared_old/mockwlshell.cpp ../shared_old/mockwlshell.h + ../shared_old/mockxdgshellv6.cpp ../shared_old/mockxdgshellv6.h + tst_xdgshellv6.cpp + INCLUDE_DIRECTORIES + ../shared_old + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient + Wayland::Client + Wayland::Server + Threads::Threads # special case +) + +qt6_generate_wayland_protocol_server_sources(tst_client_xdgshellv6 + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/fullscreen-shell-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell-unstable-v6.xml +) diff --git a/tests/auto/compositor/CMakeLists.txt b/tests/auto/compositor/CMakeLists.txt new file mode 100644 index 000000000..a55266517 --- /dev/null +++ b/tests/auto/compositor/CMakeLists.txt @@ -0,0 +1,3 @@ +# Generated from compositor.pro. + +add_subdirectory(compositor) diff --git a/tests/auto/compositor/compositor/CMakeLists.txt b/tests/auto/compositor/compositor/CMakeLists.txt new file mode 100644 index 000000000..511550e99 --- /dev/null +++ b/tests/auto/compositor/compositor/CMakeLists.txt @@ -0,0 +1,45 @@ +# Generated from compositor.pro. + +##################################################################### +## tst_compositor Test: +##################################################################### + +qt_add_test(tst_compositor + SOURCES + mockclient.cpp mockclient.h + mockkeyboard.cpp mockkeyboard.h + mockpointer.cpp mockpointer.h + mockseat.cpp mockseat.h + mockxdgoutputv1.cpp mockxdgoutputv1.h + testcompositor.cpp testcompositor.h + testkeyboardgrabber.cpp testkeyboardgrabber.h + testseat.cpp testseat.h + tst_compositor.cpp + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + Qt::WaylandCompositorPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandCompositor + Wayland::Client + Wayland::Server +) + +qt6_generate_wayland_protocol_client_sources(tst_compositor + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/idle-inhibit-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/ivi-application.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/viewporter.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/wayland.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-output-unstable-v1.xml + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/3rdparty/protocol/xdg-shell.xml +) + +## Scopes: +##################################################################### + +qt_extend_target(tst_compositor CONDITION QT_FEATURE_xkbcommon + PUBLIC_LIBRARIES + XKB::XKB +) diff --git a/tests/manual/qmlclient/CMakeLists.txt b/tests/manual/qmlclient/CMakeLists.txt new file mode 100644 index 000000000..7be97f49d --- /dev/null +++ b/tests/manual/qmlclient/CMakeLists.txt @@ -0,0 +1,34 @@ +# Generated from qmlclient.pro. + +##################################################################### +## qmlclient Binary: +##################################################################### + +qt_add_manual_test(qmlclient + GUI + SOURCES + main.cpp + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Quick + Qt::WaylandClient +) + +# Resources: +set(qml_resource_files + "main.qml" +) + +qt_add_resource(qmlclient "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + + +#### Keys ignored in scope 1:.:.:qmlclient.pro:<TRUE>: +# TEMPLATE = "app" diff --git a/tests/manual/scaling-compositor/CMakeLists.txt b/tests/manual/scaling-compositor/CMakeLists.txt new file mode 100644 index 000000000..2446fb7f8 --- /dev/null +++ b/tests/manual/scaling-compositor/CMakeLists.txt @@ -0,0 +1,31 @@ +# Generated from scaling-compositor.pro. + +##################################################################### +## scaling-compositor Binary: +##################################################################### + +qt_add_manual_test(scaling-compositor + GUI + SOURCES + main.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Qml + Qt::QuickControls2 +) + +# Resources: +set(qml_resource_files + "main.qml" +) + +qt_add_resource(scaling-compositor "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + + +#### Keys ignored in scope 1:.:.:scaling-compositor.pro:<TRUE>: +# TEMPLATE = "app" diff --git a/tests/manual/subsurface/CMakeLists.txt b/tests/manual/subsurface/CMakeLists.txt new file mode 100644 index 000000000..10ec44511 --- /dev/null +++ b/tests/manual/subsurface/CMakeLists.txt @@ -0,0 +1,36 @@ +# Generated from subsurface.pro. + +##################################################################### +## subsurface Binary: +##################################################################### + +qt_add_manual_test(subsurface + GUI + SOURCES + main.cpp + shmwindow.cpp shmwindow.h + LIBRARIES + Qt::CorePrivate + Qt::GuiPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::Quick + Qt::WaylandClient +) + +# Resources: +set(qml_resource_files + "child.qml" + "main.qml" +) + +qt_add_resource(subsurface "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + + +#### Keys ignored in scope 1:.:.:subsurface.pro:<TRUE>: +# TEMPLATE = "app" diff --git a/tests/manual/texture-sharing/cpp-client/CMakeLists.txt b/tests/manual/texture-sharing/cpp-client/CMakeLists.txt new file mode 100644 index 000000000..4186ce995 --- /dev/null +++ b/tests/manual/texture-sharing/cpp-client/CMakeLists.txt @@ -0,0 +1,29 @@ +# Generated from cpp-client.pro. + +##################################################################### +## cpp-client Binary: +##################################################################### + +qt_add_manual_test(cpp-client + GUI + SOURCES + ../../../../src/imports/texture-sharing/texturesharingextension.cpp ../../../../src/imports/texture-sharing/texturesharingextension.h + main.cpp + INCLUDE_DIRECTORIES + ../../../../src/imports/texture-sharing + LIBRARIES + Qt::GuiPrivate + Qt::WaylandClientPrivate + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandClient +) + +qt6_generate_wayland_protocol_client_sources(cpp-client + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/extensions/qt-texture-sharing-unstable-v1.xml +) + +#### Keys ignored in scope 1:.:.:cpp-client.pro:<TRUE>: +# INSTALLS = "target" +# target.path = "$$[QT_INSTALL_EXAMPLES]/wayland/texture-sharing/cpp-client" diff --git a/tests/manual/wip-cpp-compositor/CMakeLists.txt b/tests/manual/wip-cpp-compositor/CMakeLists.txt new file mode 100644 index 000000000..eaef05d7c --- /dev/null +++ b/tests/manual/wip-cpp-compositor/CMakeLists.txt @@ -0,0 +1,20 @@ +# Generated from wip-cpp-compositor.pro. + +##################################################################### +## wip-cpp-compositor Binary: +##################################################################### + +qt_add_manual_test(wip-cpp-compositor + GUI + SOURCES + compositor.cpp compositor.h + main.cpp + window.cpp window.h + PUBLIC_LIBRARIES + Qt::Gui + Qt::WaylandCompositor +) + +#### Keys ignored in scope 1:.:.:wip-cpp-compositor.pro:<TRUE>: +# INSTALLS = "target" +# target.path = "$$[QT_INSTALL_EXAMPLES]/wayland/reference-cpp" diff --git a/tests/manual/wlscaler/CMakeLists.txt b/tests/manual/wlscaler/CMakeLists.txt new file mode 100644 index 000000000..57984af3c --- /dev/null +++ b/tests/manual/wlscaler/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from wlscaler.pro. + +##################################################################### +## wlscaler Binary: +##################################################################### + +qt_add_manual_test(wlscaler + GUI + SOURCES + main.cpp + PUBLIC_LIBRARIES + Qt::Gui + Qt::Qml +) + +# Resources: +set(qml_resource_files + "main.qml" +) + +qt_add_resource(wlscaler "qml" + PREFIX + "/" + FILES + ${qml_resource_files} +) + + +#### Keys ignored in scope 1:.:.:wlscaler.pro:<TRUE>: +# TEMPLATE = "app" |