Support minimal dependency linux build.
This commit is contained in:
parent
92a35a5bc9
commit
7ce29ce8ae
14 changed files with 421 additions and 176 deletions
|
@ -4,50 +4,51 @@ set (platform_LIBS "")
|
|||
set(_HAS_WAYLAND Off)
|
||||
|
||||
if(UNIX)
|
||||
list(APPEND platform_INCLUDES
|
||||
ui_interfaces/x11/XcbInterface.cpp
|
||||
ui_interfaces/x11/XcbEventInterface.cpp
|
||||
ui_interfaces/x11/XcbWindow.cpp
|
||||
ui_interfaces/x11/XcbScreen.cpp
|
||||
ui_interfaces/x11/XcbWindowInterface.cpp
|
||||
ui_interfaces/x11/XcbLayerInterface.cpp
|
||||
ui_interfaces/x11/XcbTextInterface.cpp
|
||||
ui_interfaces/x11/XcbKeyboard.cpp
|
||||
ui_interfaces/x11/GlxInterface.cpp
|
||||
)
|
||||
find_package(X11 QUIET)
|
||||
if(X11_FOUND)
|
||||
list(APPEND platform_INCLUDES
|
||||
ui_interfaces/x11/XcbInterface.cpp
|
||||
ui_interfaces/x11/XcbEventInterface.cpp
|
||||
ui_interfaces/x11/XcbWindow.cpp
|
||||
ui_interfaces/x11/XcbScreen.cpp
|
||||
ui_interfaces/x11/XcbWindowInterface.cpp
|
||||
ui_interfaces/x11/XcbLayerInterface.cpp
|
||||
ui_interfaces/x11/XcbTextInterface.cpp
|
||||
ui_interfaces/x11/XcbKeyboard.cpp
|
||||
ui_interfaces/x11/GlxInterface.cpp
|
||||
)
|
||||
list(APPEND platform_LIBS ${X11_LIBRARIES} ${X11_xcb_LIB} ${X11_X11_xcb_LIB})
|
||||
else()
|
||||
message(STATUS "x11 development headers not found - skipping support")
|
||||
endif()
|
||||
|
||||
list(APPEND platform_LIBS
|
||||
X11 X11-xcb xcb )
|
||||
|
||||
|
||||
find_path(
|
||||
WAYLAND_CLIENT_INCLUDE_DIR
|
||||
NAMES wayland-client.h
|
||||
)
|
||||
list(APPEND WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIR})
|
||||
|
||||
find_path(
|
||||
WAYLAND_EXTENSIONS_INCLUDE_DIR
|
||||
NAMES xdg-shell-client-protocol.h
|
||||
HINTS ENV WAYLAND_EXTENSION_DIR
|
||||
)
|
||||
if(NOT ${WAYLAND_EXTENSIONS_INCLUDE_DIR-NOTFOUND})
|
||||
find_library(
|
||||
WAYLAND_CLIENT_LIBRARY
|
||||
NAMES wayland-client libwayland-client
|
||||
)
|
||||
find_path(WAYLAND_CLIENT_INCLUDE_DIR NAMES wayland-client.h)
|
||||
if (NOT ${WAYLAND_CLIENT_INCLUDE_DIR-NOTFOUND})
|
||||
list(APPEND WAYLAND_INCLUDE_DIRS ${WAYLAND_CLIENT_INCLUDE_DIR})
|
||||
|
||||
list(APPEND WAYLAND_INCLUDE_DIRS ${WAYLAND_EXTENSIONS_INCLUDE_DIR})
|
||||
|
||||
list(APPEND platform_INCLUDES
|
||||
ui_interfaces/wayland/WaylandWindowInterface.cpp
|
||||
ui_interfaces/wayland/WaylandSurface.cpp
|
||||
ui_interfaces/wayland/WaylandBuffer.cpp
|
||||
${WAYLAND_EXTENSIONS_INCLUDE_DIR}/xdg-shell-protocol.cpp
|
||||
)
|
||||
set(_HAS_WAYLAND ON)
|
||||
find_path(WAYLAND_EXTENSIONS_INCLUDE_DIR NAMES xdg-shell-client-protocol.h
|
||||
HINTS ENV WAYLAND_EXTENSION_DIR
|
||||
)
|
||||
if(NOT ${WAYLAND_EXTENSIONS_INCLUDE_DIR-NOTFOUND})
|
||||
find_library(
|
||||
WAYLAND_CLIENT_LIBRARY
|
||||
NAMES wayland-client libwayland-client
|
||||
)
|
||||
|
||||
list(APPEND WAYLAND_INCLUDE_DIRS ${WAYLAND_EXTENSIONS_INCLUDE_DIR})
|
||||
|
||||
list(APPEND platform_INCLUDES
|
||||
ui_interfaces/wayland/WaylandWindowInterface.cpp
|
||||
ui_interfaces/wayland/WaylandSurface.cpp
|
||||
ui_interfaces/wayland/WaylandBuffer.cpp
|
||||
${WAYLAND_EXTENSIONS_INCLUDE_DIR}/xdg-shell-protocol.cpp
|
||||
)
|
||||
set(_HAS_WAYLAND ON)
|
||||
else()
|
||||
message(STATUS "Wayland Extensions Header not found - not building Wayland support")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "Wayland Extensions Header not found - not building Wayland support")
|
||||
message(STATUS "Wayland Client Header not found - not building Wayland support")
|
||||
endif()
|
||||
|
||||
else()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue