From b5e988c9e7b7a4b9b61d0f546b8bbdc9b5795e02 Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Thu, 1 Jul 2021 13:39:29 +0300 Subject: CmakeList.txt: use pkg-config to retrieve the protocols path Bug-AGL: SPEC-3423 Signed-off-by: Marius Vlad Change-Id: I86d14a7e42a65713df25faf8d10d6e1c79297504 --- app/CMakeLists.txt | 16 +++-- app/protocol/agl-shell-desktop.xml | 142 ------------------------------------- 2 files changed, 10 insertions(+), 148 deletions(-) delete mode 100644 app/protocol/agl-shell-desktop.xml diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 9cdbaa9..3456f6d 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -28,6 +28,10 @@ find_package(Qt5Gui ${QT_MIN_VERSION} CONFIG REQUIRED Private) find_package(PkgConfig REQUIRED) find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner) +pkg_check_modules(AGL_COMPOSITOR_PROTOCOLS REQUIRED agl-compositor-0.0.19-protocols) +pkg_get_variable(AGL_COMPOSITOR_PROTOCOLS_PKGDATADIR agl-compositor-0.0.19-protocols pkgdatadir) +set(AGL_COMPOSITOR_PROTOCOLS_PATH ${AGL_COMPOSITOR_PROTOCOLS_PKGDATADIR}) + qt5_add_resources(RESOURCES alexa-viewer.qrc) PROJECT_TARGET_ADD(alexa-viewer) @@ -35,26 +39,26 @@ PROJECT_TARGET_ADD(alexa-viewer) 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 + < ${AGL_COMPOSITOR_PROTOCOLS_PATH}/agl-shell-desktop.xml > ${CMAKE_SOURCE_DIR}/app/agl-shell-desktop-client-protocol.h - DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml + DEPENDS ${AGL_COMPOSITOR_PROTOCOLS_PATH}/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 + < ${AGL_COMPOSITOR_PROTOCOLS_PATH}/agl-shell-desktop.xml > ${CMAKE_SOURCE_DIR}/app/agl-shell-desktop-client-protocol.h - DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml + DEPENDS ${AGL_COMPOSITOR_PROTOCOLS_PATH}/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 + < ${AGL_COMPOSITOR_PROTOCOLS_PATH}/agl-shell-desktop.xml > ${CMAKE_BINARY_DIR}/app/agl-shell-desktop-protocol.c - DEPENDS ${CMAKE_SOURCE_DIR}/app/protocol/agl-shell-desktop.xml + DEPENDS ${AGL_COMPOSITOR_PROTOCOLS_PATH}/agl-shell-desktop.xml ) add_executable(${TARGET_NAME} diff --git a/app/protocol/agl-shell-desktop.xml b/app/protocol/agl-shell-desktop.xml deleted file mode 100644 index e7b9493..0000000 --- a/app/protocol/agl-shell-desktop.xml +++ /dev/null @@ -1,142 +0,0 @@ - - - - Copyright © 2020 Collabora, Ltd. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice (including the next - paragraph) shall be included in all copies or substantial portions of the - Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. - - - - This extension can be used by regular application to instruct to compositor - to activate or switch to other running (regular) applications. The client - is responsbile for filtering their own app_id when receiving application id. - - Note that other (regular) applications can bind to this interface and there is - no mechanism to place to restrict or limit that. - - - - - - - - - - - - - - - - - - The compositor may choose to advertise one or more application ids which - can be used to activate/switch to. - - When this global is bound, the compositor will send all application ids - available for activation, but may send additional application id at any - time (when they've been mapped in the compositor). - - - - - - - Ask the compositor to make a toplevel to become the current/focused - window for window management purposes. - - See xdg_toplevel.set_app_id from the xdg-shell protocol for a - description of app_id. - - - - - - - - - Ask the compositor to make a top-level window obey the 'app_role' enum - and, depending on that role, to use some of the arguments as initial - values to take into account. - - Note that x, y, bx, by, width and height would only make sense for the - pop-up role, with the output argument being applicable to all the roles. - The width and height values define the maximum area which the - top-level window should be placed into. Note this doesn't correspond to - top-level surface size, but to a bounding box which will be used to - clip the surface to, in case the surface area extends that of this - bounding box. Both of these values need to be larger than 0 (zero) to be - taken into account by the compositor. Any negative values for the width - and height will be discarded. - - The x and y values will serve as the (initial) position values. - The bx and by values are the top-left x and y value of the bounding box. - Any clipping happening to the bounding box will not affect the surface - size or the position of the underlying surface backing the top-level - window. The bx and by values, like the positional values, could be - both set to zero, or even negative values. The compositor will pass - those on without any further validation. - - The initial position values and the bounding rectangle will still be - in effect on a subsequent activation request of the 'app_id', assuming - it was previously de-activated at some point in time. - - See xdg_toplevel.set_app_id from the xdg-shell protocol for a - description of app_id. - - - - - - - - - - - - - - - Ask the compositor to hide the toplevel window for window - management purposes. Depending on the window role, this request - will either display the previously active window (or the background - in case there's no previously activate surface) or temporarly (or - until a 'activate_app' is called upon) hide the surface. All - the surfaces are identifiable by using the app_id, and no actions are - taken in case the app_id is not/was not present. - - See xdg_toplevel.set_app_id from the xdg-shell protocol for a - description of app_id. - - - - - - - Notifies application(s) when other application have suffered state modifications. - - - - - - - - - -- cgit 1.2.3-korg