diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2020-06-20 23:16:15 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2020-07-10 00:35:28 +0300 |
commit | 3ac1a25bcfa27594ffd44f5255017322d517cb40 (patch) | |
tree | 030c89af09347bf65cef230fb54318771b201f33 /app/CMakeLists.txt | |
parent | 6f05f0d2fb3619e85bee71a18c353908edf8bfe3 (diff) |
Conversion to using agl-compositor
- Use Qt/QtWayland to set-up an app_id for the main surface. We use that
surface and pass it to waylandsink. Waylandsink create a sub-surface
with the parent the Qt/QtWayland one.
- Install a handler for handling bus messages With it, it allows to pass
the wl_display with the help of a context and the surface backing up
the Widget.
- Installs a timer to wait for Qt to create/get the xdg_surface and
attach a buffer to it. Without we won't be able receive the commit
for the parent event in order to handle it.
Bug-AGL: SPEC-3382
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I4237b7dad110ce36e3a01226e67cb508b6d9a6d9
Diffstat (limited to 'app/CMakeLists.txt')
-rw-r--r-- | app/CMakeLists.txt | 62 |
1 files changed, 55 insertions, 7 deletions
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 229e961..ff8eb93 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -18,24 +18,66 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(OE_QMAKE_PATH_EXTERNAL_HOST_BINS $ENV{OE_QMAKE_PATH_HOST_BINS}) +find_package(Qt5 COMPONENTS Core Gui QuickControls2 QuickWidgets REQUIRED) +find_package(Qt5Gui ${QT_MIN_VERSION} CONFIG REQUIRED Private) find_package(PkgConfig REQUIRED) +find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) PROJECT_TARGET_ADD(cluster-receiver) +add_custom_command( + OUTPUT agl-shell-desktop-client-protocol.h + COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header + < ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml + > ${CMAKE_SOURCE_DIR}/app/agl-shell-desktop-client-protocol.h + DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml +) + + +add_custom_command( + OUTPUT ${CMAKE_BINARY_DIR}/app/agl-shell-desktop-client-protocol.h + COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header + < ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml + > ${CMAKE_SOURCE_DIR}/app/agl-shell-desktop-client-protocol.h + DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml +) + +add_custom_command( + OUTPUT agl-shell-desktop-protocol.c + COMMAND ${WAYLAND_SCANNER_EXECUTABLE} code + < ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml + > ${CMAKE_BINARY_DIR}/app/agl-shell-desktop-protocol.c + DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml +) + +pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0) +pkg_check_modules(GSTREAMER_PLUGINS_BASE REQUIRED gstreamer-plugins-base-1.0) +pkg_check_modules(GSTREAMER_VIDEO REQUIRED gstreamer-video-1.0) +pkg_check_modules(GSTREAMER_PLUGINS_BAD REQUIRED gstreamer-plugins-bad-1.0) + +pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client) + add_executable(${TARGET_NAME} main.cpp surface.cpp + agl-shell-desktop-protocol.c + agl-shell-desktop-client-protocol.h + shell-desktop.cpp ${RESOURCES} ) -pkg_check_modules(GSTREAMER REQUIRED gstreamer-1.0) -pkg_check_modules(ILMCOMMON REQUIRED ilmCommon) - include_directories( - "${ILMCOMMON_INCLUDE_DIRS}" - "${GSTREAMER_INCLUDE_DIRS}" + include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS}) + ${QTAPPFW_INCLUDE_DIRS} + "${GSTREAMER_INCLUDE_DIRS}" + "${GSTREAMER_PLUGINS_BASE_INCLUDE_DIRS}" + "${GSTREAMER_PLUGINS_BAD_INCLUDE_DIRS}" + "${GSTREAMER_VIDEO_INCLUDE_DIRS}" ) set_target_properties(${TARGET_NAME} PROPERTIES @@ -48,7 +90,13 @@ set_target_properties(${TARGET_NAME} PROPERTIES ) target_link_libraries(${TARGET_NAME} - windowmanager + Qt5::QuickControls2 + Qt5::QuickWidgets ${GSTREAMER_LIBRARIES} - ${ILMCOMMON_LIBRARIES} + "${GSTREAMER_PLUGINS_BASE_LIBRARIES}" + "${GSTREAMER_PLUGINS_BAD_LIBRARIES}" + "${GSTREAMER_VIDEO_LIBRARIES}" + ${QTAPPFW_LIBRARIES} + ${WAYLAND_CLIENT_LIBRARIES} + -lgstwayland-1.0 ) |