# ====================================================================================================================== # fennec, a free and open source game engine # Copyright © 2025 Medusa Slockbower # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # ====================================================================================================================== # https://gist.github.com/mariobadr/acc3c8adf4b4e722705be38c3deac59a # this script finds libwayland and dependencies macro(fennec_check_wayland) set(WAYLAND_CLIENT_FOUND 0) find_path( WAYLAND_CLIENT_INCLUDE_DIR NAMES wayland-client.h ) find_library( WAYLAND_CLIENT_LIBRARY NAMES wayland-client libwayland-client ) # EGL is required find_path( WAYLAND_EGL_INCLUDE_DIR NAMES wayland-egl.h ) find_library( WAYLAND_EGL_LIBRARY NAMES wayland-egl libwayland-egl ) if( (WAYLAND_CLIENT_INCLUDE_DIR AND WAYLAND_CLIENT_LIBRARY) AND (WAYLAND_EGL_INCLUDE_DIR AND WAYLAND_EGL_LIBRARY)) get_filename_component( WAYLAND_CLIENT_LIBRARY ${WAYLAND_CLIENT_LIBRARY} NAME ) get_filename_component( WAYLAND_EGL_LIBRARY ${WAYLAND_EGL_LIBRARY} NAME ) set(WAYLAND_CLIENT_FOUND 1) set(WAYLAND_EGL_FOUND 1) set(FENNEC_GRAPHICS_WANT_EGL 1) list(APPEND FENNEC_EXTRA_SOURCES # Dynamic Library Files include/fennec/platform/linux/wayland/lib/fwd.h include/fennec/platform/linux/wayland/lib/sym.h include/fennec/platform/linux/wayland/lib/wayland-client.h include/fennec/platform/linux/wayland/lib/wayland-util.h include/fennec/platform/linux/wayland/lib/dyn.h source/platform/linux/wayland/lib/dyn.cpp # Fennec Files include/fennec/platform/linux/wayland/displaydev.h source/platform/linux/wayland/displaydev.cpp include/fennec/platform/linux/wayland/window.h source/platform/linux/wayland/window.cpp ) list(APPEND FENNEC_COMPILE_DEFINITIONS FENNEC_HAS_WAYLAND=1 FENNEC_LIB_WAYLAND="${WAYLAND_CLIENT_LIBRARY}" FENNEC_LIB_WAYLAND_EGL="${WAYLAND_EGL_LIBRARY}" ) endif() endmacro()