From af72b8163be8f7657caae587c4b309a5d3f95963 Mon Sep 17 00:00:00 2001 From: Alexis Maiquez Date: Sun, 7 May 2023 21:19:28 +0200 Subject: [PATCH] Enable wayland support automatically if all libraries are available instead of having an individual switch Signed-off-by: Alexis Maiquez --- .github/workflows/cmake.yml | 2 +- CMakeLists.txt | 22 ++++++++++------------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 1cd2dac..f6c7857 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -53,7 +53,7 @@ jobs: - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_WAYLAND=True + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build # Build your program with the given configuration diff --git a/CMakeLists.txt b/CMakeLists.txt index 20c58c2..f457d26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -44,11 +44,10 @@ include_directories( ${CMAKE_SOURCE_DIR} include) -if (ENABLE_WAYLAND) - message(STATUS "Wayland support is enabled!") - - pkg_check_modules(wayland-cursor wayland-protocols egl wayland-egl) +# try to enable wayland builds when possible +pkg_check_modules(WAYLAND_SUPPORT wayland-cursor wayland-protocols egl wayland-egl) +if(WAYLAND_SUPPORT_FOUND) find_program(WaylandScanner NAMES wayland-scanner) message(STATUS "Found WaylandScanner at ${WaylandScanner}") execute_process( @@ -86,8 +85,6 @@ if (ENABLE_WAYLAND) "src/WallpaperEngine/Input/Drivers/CWaylandMouseInput.h" "xdg-shell-protocol.c" "wlr-layer-shell-unstable-v1-protocol.c") -else() - set(WAYLAND_SOURCES "") endif() add_executable( @@ -341,12 +338,13 @@ target_link_libraries(linux-wallpaperengine ${PULSEAUDIO_LIBRARY} glfw) -if (ENABLE_WAYLAND) - target_link_libraries(linux-wallpaperengine pthread - wayland-cursor - wayland-client - wayland-egl - ${OPENGL_egl_LIBRARY}) +if (WAYLAND_SUPPORT_FOUND) + target_link_libraries(linux-wallpaperengine + pthread + wayland-cursor + wayland-client + wayland-egl + ${OPENGL_egl_LIBRARY}) endif() file(CREATE_LINK linux-wallpaperengine wallengine SYMBOLIC)