mirror of
https://github.com/glfw/glfw.git
synced 2025-10-04 13:46:37 +00:00
check available Wayland protocols
This commit is contained in:
parent
6aca3e99f0
commit
62c7af6861
@ -233,7 +233,7 @@ if (_GLFW_WAYLAND)
|
|||||||
|
|
||||||
find_package(Wayland REQUIRED Client Cursor Egl)
|
find_package(Wayland REQUIRED Client Cursor Egl)
|
||||||
find_package(WaylandScanner REQUIRED)
|
find_package(WaylandScanner REQUIRED)
|
||||||
find_package(WaylandProtocols 1.15 REQUIRED)
|
find_package(WaylandProtocols 1.12 REQUIRED)
|
||||||
|
|
||||||
list(APPEND glfw_PKG_DEPS "wayland-client")
|
list(APPEND glfw_PKG_DEPS "wayland-client")
|
||||||
|
|
||||||
|
@ -45,30 +45,37 @@ if (_GLFW_X11 OR _GLFW_WAYLAND)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (_GLFW_WAYLAND)
|
if (_GLFW_WAYLAND)
|
||||||
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
set(PROTO_DEF
|
||||||
PROTOCOL
|
|
||||||
"${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml"
|
"${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/xdg-shell/xdg-shell.xml"
|
||||||
BASENAME xdg-shell)
|
|
||||||
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
|
||||||
PROTOCOL
|
|
||||||
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml"
|
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml"
|
||||||
BASENAME xdg-decoration)
|
|
||||||
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
|
||||||
PROTOCOL
|
|
||||||
"${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml"
|
"${WAYLAND_PROTOCOLS_PKGDATADIR}/stable/viewporter/viewporter.xml"
|
||||||
BASENAME viewporter)
|
|
||||||
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
|
||||||
PROTOCOL
|
|
||||||
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml"
|
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/relative-pointer/relative-pointer-unstable-v1.xml"
|
||||||
BASENAME relative-pointer-unstable-v1)
|
|
||||||
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
|
||||||
PROTOCOL
|
|
||||||
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml"
|
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml"
|
||||||
BASENAME pointer-constraints-unstable-v1)
|
|
||||||
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
|
||||||
PROTOCOL
|
|
||||||
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml"
|
"${WAYLAND_PROTOCOLS_PKGDATADIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml"
|
||||||
BASENAME idle-inhibit-unstable-v1)
|
)
|
||||||
|
set(PROTO_NAME
|
||||||
|
xdg-shell
|
||||||
|
xdg-decoration
|
||||||
|
viewporter
|
||||||
|
relative-pointer-unstable-v1
|
||||||
|
pointer-constraints-unstable-v1
|
||||||
|
idle-inhibit-unstable-v1
|
||||||
|
)
|
||||||
|
|
||||||
|
list(LENGTH PROTO_NAME count)
|
||||||
|
math(EXPR count "${count}-1")
|
||||||
|
foreach(i RANGE ${count})
|
||||||
|
list(GET PROTO_DEF ${i} def)
|
||||||
|
list(GET PROTO_NAME ${i} name)
|
||||||
|
if(EXISTS ${def})
|
||||||
|
ecm_add_wayland_client_protocol(GLFW_WAYLAND_PROTOCOL_SOURCES
|
||||||
|
PROTOCOL ${def} BASENAME ${name})
|
||||||
|
string(REPLACE "-" "_" nameR ${name})
|
||||||
|
add_definitions(-DHAS_PROTO_${nameR})
|
||||||
|
else()
|
||||||
|
message(WARNING "protocol definition ${def} not available")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
target_sources(glfw PRIVATE ${GLFW_WAYLAND_PROTOCOL_SOURCES})
|
target_sources(glfw PRIVATE ${GLFW_WAYLAND_PROTOCOL_SOURCES})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user